﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-哥哥.偶爱你哇.嘿嘿.-随笔分类-Oracle</title><link>http://www.blogjava.net/spiritahead/category/39506.html</link><description>哥哥.宝宝想你.</description><language>zh-cn</language><lastBuildDate>Mon, 18 May 2009 10:04:50 GMT</lastBuildDate><pubDate>Mon, 18 May 2009 10:04:50 GMT</pubDate><ttl>60</ttl><item><title>Oracle取得时间的时分秒</title><link>http://www.blogjava.net/spiritahead/archive/2009/05/18/271371.html</link><dc:creator>晓江小子</dc:creator><author>晓江小子</author><pubDate>Mon, 18 May 2009 09:25:00 GMT</pubDate><guid>http://www.blogjava.net/spiritahead/archive/2009/05/18/271371.html</guid><wfw:comment>http://www.blogjava.net/spiritahead/comments/271371.html</wfw:comment><comments>http://www.blogjava.net/spiritahead/archive/2009/05/18/271371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/spiritahead/comments/commentRss/271371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/spiritahead/services/trackbacks/271371.html</trackback:ping><description><![CDATA[<p><font style="background-color: #f2f9fb">怎么取得oracle里面的时分秒<br />
取得当前时间的时分秒<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;to_char(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyymmdd&nbsp;hh24:mi:ss</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substr(to_char(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyymmdd&nbsp;hh24:mi:ss</span><span style="color: #ff0000">'</span><span style="color: #000000">),</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;)</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substr(to_char(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyymmdd&nbsp;hh24:mi:ss</span><span style="color: #ff0000">'</span><span style="color: #000000">),</span><span style="font-weight: bold; color: #800000">13</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;)</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;substr(to_char(sysdate,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">yyyymmdd&nbsp;hh24:mi:ss</span><span style="color: #ff0000">'</span><span style="color: #000000">),</span><span style="font-weight: bold; color: #800000">16</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;)</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual</span></div>
<p>可以试试看这玩意<br />
不知道是否有问题？<br />
</font></p>
<img src ="http://www.blogjava.net/spiritahead/aggbug/271371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/spiritahead/" target="_blank">晓江小子</a> 2009-05-18 17:25 <a href="http://www.blogjava.net/spiritahead/archive/2009/05/18/271371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL整理</title><link>http://www.blogjava.net/spiritahead/archive/2009/05/11/269987.html</link><dc:creator>晓江小子</dc:creator><author>晓江小子</author><pubDate>Mon, 11 May 2009 01:14:00 GMT</pubDate><guid>http://www.blogjava.net/spiritahead/archive/2009/05/11/269987.html</guid><wfw:comment>http://www.blogjava.net/spiritahead/comments/269987.html</wfw:comment><comments>http://www.blogjava.net/spiritahead/archive/2009/05/11/269987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/spiritahead/comments/commentRss/269987.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/spiritahead/services/trackbacks/269987.html</trackback:ping><description><![CDATA[<p><font style="background-color: #f2f9fb">1.sql语句中between and 是闭区间[]，支持日期的<br />
2.oracle中日期查询的时候 要加上单引号<br />
3.oracle是对大小写敏感的where ename='smith'和where ename='SMITH'是不一样的<br />
4.like模糊查询%可以匹配任意长度 _可以匹配一个长度的内容<br />
5.oracle中varchar2用模糊查询的时候一个字母和一个汉字 都是用一个下划线来匹配的<br />
6.select upper('smith') from dual<br />
&nbsp; select * from emp where ename = upper('smith')<br />
&nbsp; lower()小写<br />
&nbsp; initcap()把第一个小写字母变化成大写<br />
7.select contact('a','b') from dual建议使用||<br />
8.select substr('hello',1,3)-------------substr在oracle中从0和1开始没有区别。select substr('hello',0,3)<br />
&nbsp; select length('hello')<br />
&nbsp; select replace('hello','l','x')<br />
&nbsp; select substr('hello',-3) from dual------------llo<br />
&nbsp; select substr('hello',-1,3) from dual -------------o<br />
9.oracle中----日期-（+）数字=日期<br />
&nbsp;&nbsp; ----日期-日期=数字（天数）<br />
&nbsp; months_between() add_months() next_day() last_day()<br />
10.♂select empno,ename,to_char(hiredate,'yyyy')year,to_char(hiredate,'mm')month,<br />
&nbsp;&nbsp;&nbsp;&nbsp; to_char(hiredate,'dd')day from emp<br />
&nbsp;&nbsp;&nbsp;&nbsp; to_char()----------可以拆分<br />
&nbsp;&nbsp; ♂select empno,ename,to_char(hiredate,'yyyy-mm-dd')year from emp<br />
&nbsp;&nbsp;&nbsp;&nbsp; select empno,ename,to_char(hiredate,'fmyyyy-mm-dd')year from emp--去掉前导的0<br />
&nbsp;&nbsp; ♂to_char()可以用在日期上也可以用在数字上<br />
&nbsp;&nbsp;&nbsp;&nbsp; select empno,ename,to_char(sal,'99,999')year from emp<br />
&nbsp;&nbsp;&nbsp;&nbsp; select empno,ename,to_char(sal,'$99,999')year from emp<br />
&nbsp;&nbsp;&nbsp;&nbsp; select empno,ename,to_char(sal,'L99,999')year from emp<br />
11. select ename,nvl(comm,0),(nvl(sal,0)+nvl(comm,0)) from emp<br />
&nbsp;&nbsp;&nbsp; nvl()函数可以把null的值 变成 0<br />
12. decode()函数<br />
&nbsp;&nbsp;&nbsp; select decode(1,1,'内容1',2,'内容2',3,'内容3') from dual-----内容1<br />
&nbsp;&nbsp;&nbsp; select decode(3,1,'内容1',2,'内容2',3,'内容3') from dual-----内容3<br />
&nbsp;&nbsp;&nbsp; decode函数类似if else<br />
************************************************************************************************************<br />
&nbsp;&nbsp;&nbsp; select empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期,<br />
&nbsp;&nbsp;&nbsp; decode(job,'CLERK','业务员','SALESMAN','销售人员','MANAGER','经理','ANALYST','分析','PRESIDENT','总裁') 职位<br />
&nbsp;&nbsp;&nbsp; from emp<br />
&nbsp;&nbsp;&nbsp; 这里会把job这个字段里对应的相应的类似用ifelse转换为你想要的结果<br />
************************************************************************************************************<br />
13.不能用别名来作为where条件的select ename from emp where ename = 'SMITH'---RIGHT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select ename e from emp where e = 'SMITH'--WRONG<br />
14. select ename,<br />
&nbsp;&nbsp;&nbsp; trunc(months_between(sysdate,hiredate)/12)year,<br />
&nbsp;&nbsp;&nbsp; trunc(mod(months_between(sysdate,hiredate),12)) month,<br />
&nbsp;&nbsp;&nbsp; trunc(mod(sysdate-hiredate,30))day<br />
&nbsp;&nbsp;&nbsp; from emp<br />
&nbsp;&nbsp;&nbsp; 这个计算了 到当前时间为止 某个人工作时间 大概<br />
15. 查出雇员表中雇员的名字以及领导的名字<br />
&nbsp;&nbsp;&nbsp; ----&gt;select e.ename 雇员名字,p.ename 另一个雇员名字<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from emp e,emp p<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里做出笛卡尔积,自己做一下 看下效果就会即刻明白.不要去想为什么这样.<br />
&nbsp;&nbsp;&nbsp; ----&gt;过滤<br />
&nbsp; select e.ename 雇员名字,p.ename 另一个雇员名字<br />
&nbsp; from emp e,emp p<br />
&nbsp; where e.mgr = p.empno</font></p>
<p><font style="background-color: #f2f9fb">16. 查询除每个雇员的姓名，工资，部门名称，工资在公司的等级 及其领导的姓名以及工资所在公司的等级<br />
&nbsp;&nbsp;&nbsp; -----&gt;先查出来每个雇员的姓名，工资，部门名称，工资在公司的等级<br />
&nbsp;&nbsp; select e.ename 雇员名称,e.sal 雇员薪水,d.dname 部门名称,s.grade 工资等级<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from emp e,salgrade s,dept d<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where e.sal between losal and hisal and e.deptno = d.deptno<br />
&nbsp;&nbsp;&nbsp; -----&gt;再查 每个雇员的 领导名字<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select e.ename 雇员名称,e.sal 雇员薪水,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.dname 部门名称,s.grade 工资等级,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.ename 雇员领导<br />
&nbsp;&nbsp; from emp e,salgrade s,dept d,emp p<br />
&nbsp;&nbsp; where e.sal between losal and hisal <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.deptno = d.deptno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.mgr = p.empno<br />
&nbsp;&nbsp;&nbsp; ----&gt;再查 每个领导的工资等级<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select e.ename 雇员名称,e.sal 雇员薪水,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.dname 部门名称,s.grade 工资等级,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.ename 雇员领导,ls.grade 领导工资等级<br />
&nbsp;&nbsp; from emp e,salgrade s,dept d,emp p,salgrade ls<br />
&nbsp;&nbsp; where e.sal between s.losal and s.hisal <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.deptno = d.deptno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.mgr = p.empno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and p.sal between ls.losal and ls.hisal<br />
&nbsp;&nbsp;&nbsp; ----&gt;优化<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select e.ename 雇员名称,e.sal 雇员薪水,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.dname 部门名称,<br />
&nbsp;&nbsp; decode(s.grade,1,'第五等级',2,'第四等级',3,'第三等级',4,'第二等级',5,'第一等级') 工资等级,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.ename 雇员领导,<br />
&nbsp;&nbsp; decode(ls.grade,1,'第五等级',2,'第四等级',3,'第三等级',4,'第二等级',5,'第一等级') 领导工资等级<br />
&nbsp;&nbsp; from emp e,salgrade s,dept d,emp p,salgrade ls<br />
&nbsp;&nbsp; where e.sal between s.losal and s.hisal <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.deptno = d.deptno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and e.mgr = p.empno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and p.sal between ls.losal and ls.hisal<br />
17. 左右链接<br />
&nbsp;&nbsp;&nbsp; 左连接表示 左边表中所有的字段都会列出来.但是右边没有的以空显示<br />
&nbsp;&nbsp;&nbsp; 右连接表示 右边表中所有的字段都会列出来.但是左边没有的以空显示<br />
18. sql1999语法<br />
19. 组函数<br />
&nbsp;&nbsp;&nbsp;&nbsp; count(),max(),min(),avg(),sum()<br />
&nbsp;&nbsp;&nbsp; 分组统计-------------&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group by 和 having 可以连用的<br />
&nbsp;&nbsp;&nbsp; select e.deptno,d.dname,avg(e.sal) <br />
&nbsp;&nbsp;&nbsp; from emp e,dept d<br />
&nbsp;&nbsp;&nbsp; where e.deptno = d.deptno <br />
&nbsp;&nbsp;&nbsp; group by e.deptno,d.dname having avg(e.sal)&gt;2000<br />
20. 显示出非销售人员工作名称以及从事同一工作雇员的月工资的总和。并且要满足<br />
&nbsp;&nbsp;&nbsp; 从事同一工作的雇员的月工资合计大于5000，输出结果按月工资的合计统计<br />
&nbsp;&nbsp;&nbsp; ----&gt;先显示全部的非销售人员<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select ename,job from emp where job&lt;&gt;'SALESMAN'<br />
&nbsp;&nbsp;&nbsp; ----&gt;按工作分组,同时求出工资的总和<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select job,sum(sal) from emp where job&lt;&gt;'SALESMAN' group by job<br />
&nbsp;&nbsp;&nbsp; ----&gt;月工资&gt;5000<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select job,sum(sal) from emp where job&lt;&gt;'SALESMAN' group by job having sum(sal)&gt;5000<br />
&nbsp;&nbsp;&nbsp; ----&gt;排序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select job,sum(sal) s from emp where job&lt;&gt;'SALESMAN' group by job having sum(sal)&gt;5000 order by s<br />
21. 求出平均工资最高的部门<br />
&nbsp;&nbsp;&nbsp; select deptno,max(avg(sal)) from emp group by deptno-------错误<br />
&nbsp;&nbsp;&nbsp; select max(avg(sal)) from emp group by deptno-----正确<br />
22. 子查询<br />
&nbsp;&nbsp;&nbsp; ----&gt;查询比7654工资高的雇员信息<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select * from emp where sal &gt; (select sal from emp where empno=7654)<br />
&nbsp;&nbsp;&nbsp; ----&gt;查询比7654工资高的雇员信息,与7788从事相同工作的全部雇员信息<br />
&nbsp; --&gt;先查询7654的工资select sal from emp where empno = 7654<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;再查询 同时7788工作select job from emp where empno = 7788<br />
&nbsp; --&gt;综合select * from emp where sal &gt; (select sal from emp where empno = 7654)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and&nbsp; job = (select job from emp where empno = 7788)<br />
&nbsp;&nbsp;&nbsp; ----&gt;查询工资最低的雇员的姓名,工作工资<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;先查出最低工资select min(sal) from emp<br />
&nbsp; --&gt;select ename,job,sal from emp where sal = (select min(sal) from emp)<br />
&nbsp;&nbsp;&nbsp; ----&gt;查询部门名称，部门的员工数，部门的平均工资，部门的最低收入雇员的姓名(这个语句只是适合一个最低工资不一样的)<br />
&nbsp; select e.deptno,count(sal),avg(sal),d.dname from emp e ,dept d where e.deptno = d.deptno<br />
&nbsp;&nbsp;group by e.deptno,d.dname<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;select deptno,count(sal) c,avg(sal) from emp group by deptno<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;select d.dname,ed.c,ed.a from dept d,(select deptno,count(sal) c,avg(sal) a from emp group by deptno) ed where d.deptno = ed.deptno<br />
&nbsp; --&gt;select d.dname,ed.c,ed.a ,ed.min,e.ename from <br />
&nbsp;&nbsp;&nbsp;&nbsp; dept d,<br />
&nbsp;&nbsp;&nbsp;&nbsp; (select deptno,count(sal) c,avg(sal) a,min(sal) min from emp group by deptno) ed ,<br />
&nbsp;&nbsp;&nbsp;&nbsp; emp e<br />
&nbsp;&nbsp;&nbsp;&nbsp; where d.deptno = ed.deptno<br />
&nbsp;&nbsp;&nbsp;&nbsp; and e.sal = ed.min<br />
23. 子查询中的IN<br />
&nbsp;&nbsp;&nbsp; -&gt;查询每个部门的最低工资的雇员信息<br />
&nbsp;&nbsp;&nbsp; ----&gt;select * from emp where sal in(select min(sal) from emp group by deptno)<br />
24. create table myemp as select * from emp<br />
&nbsp;&nbsp;&nbsp; 这个语句保存了emp表的原始信息会将表结构和数据完整的复制出来<br />
&nbsp;&nbsp;&nbsp; 这个操作不会把约束带进来的。</font></p>
<font style="background-color: #f2f9fb">
<p><br />
&nbsp;&nbsp;&nbsp; to_date('String','yyyy-mm-dd')<br />
&nbsp;&nbsp;&nbsp; create table myemp as select * from emp where empno=10表示只是包含10部门雇员的一张临时表<br />
25. 在oracle中每一个链接到数据库的窗口，都会建立与数据库的一个session<br />
&nbsp;&nbsp;&nbsp; 一个session如果更新了数据库中的记录，其他session是无法更新的要等待对方提交之后才允许更新。一种死锁的概念</p>
<p>&nbsp;<br />
&nbsp;&nbsp;&nbsp; select * from tab;<br />
&nbsp;&nbsp;&nbsp; select * from tab where tname = '';</p>
<p>26. select * from (select rownum rn,ename,job,sal,hiredate from emp where rownum&lt;=10) e where e.rn&gt;5分页</p>
<p>27. a.创建用户:create user test identified by test(要创建用户必须使用管理员用户sys)<br />
&nbsp;&nbsp;&nbsp; 没有session的权限无法登陆的ora-01045,解决办法授权grant<br />
&nbsp;&nbsp;&nbsp; grant create session to test---&gt;将创建session的权限给test用户<br />
&nbsp;&nbsp;&nbsp; ****************************************这个时候使用test用户登陆成功的话，表示创建了一个session<br />
&nbsp;&nbsp;&nbsp; b.一个新的用户所有的权限都要分别赋予，一个角色包含很多权限<br />
&nbsp;&nbsp;&nbsp; c.Oracle中connect，resource<br />
&nbsp;&nbsp;&nbsp; grant connect,resource to test---&gt;这个时候 可以建表了<br />
&nbsp;&nbsp;&nbsp; d.超级管理员可以修改普通管理员密码alter user 用户名 identified by 密码<br />
&nbsp;&nbsp;&nbsp; e.alter user 用户名 pasword expire 让用户第一次密码失效 强制修改<br />
&nbsp;&nbsp;&nbsp; f.alter user 用户名 account lock 将用户锁住<br />
&nbsp;&nbsp;&nbsp; g.alter user 用户名 account unlock 解锁用户<br />
28. 想访问其他用户的表，需要授予其他用户表的权限<br />
&nbsp;&nbsp;&nbsp; grant SELECT ,DELETE on scott.emp to test---将scott.emp查询和删除的权限给test用户<br />
&nbsp;&nbsp;&nbsp; 回收权限<br />
&nbsp;&nbsp;&nbsp; revoke 权限 on 用户.表明 from 用户</font></p>
<img src ="http://www.blogjava.net/spiritahead/aggbug/269987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/spiritahead/" target="_blank">晓江小子</a> 2009-05-11 09:14 <a href="http://www.blogjava.net/spiritahead/archive/2009/05/11/269987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>