Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

oracle ±Ê¼Ç III Ö®´æ´¢¹ý³ÌÓ뺯Êý

DML(Manipulation):Êý¾Ý²Ù×÷ÓïÑÔ
CRUD
DDL(Definition): Êý¾Ý¶¨ÒåÓïÑÔ,Óë±í£¬Ë÷Òý£¬Í¬Òå´ÊÓйØ
create,alter,drop,rename,truncate(Çå¿Õ)
DCL(Control): Êý¾Ý¿ØÖÆÓïÑÔ£¬ÓëȨÏÞÓйØ
grant,revoke
TCL(Transaction Control): ÊÂÎñ¿ØÖÆÓïÑÔ,ÓëÊÂÎñÓйØ
commit,rollback,savepoint
==========================
´æ´¢¹ý³ÌºÍ´æ´¢º¯Êý£¬Ïàµ±ÖØÒª£¬ÔÚjavaÐèÒªµ÷Óô洢¹ý³ÌºÍº¯Êý
дһ¸öÀý×Ó£ºÐ´Ò»¸öº¯ÊýÍê³ÉÈçϹ¦ÄÜ£¬ÊäÈëÁ½¸ödepartment_id,dept_1,dept_2,·µ»ØËûÃÇÆ½¾ù¹¤×ʽϸߵÄÄǸö²¿ÃÅÖÐ manager µÄsalary
º¯Êý°æ:
create or replace function get_mgr(
 dept_id_1 employess.department_id%type,
 dept_id_2 employees.department_id%type,
 )
 return number
 is
       max_sal_1 employees.salary%type;
       max_sal_2 employees.salary%type;
       dept_id employees.department_id%type;
       mgr_id employees.manager_id%type;
       sal employees.salary%type;
begin
      select max(salary) into max_sal_1  from employees
      where department_id = dept_id_1;
      select max(salary) into max_sal_2  from employees
      where department_id = dept_id_2;
      if max_sal_1 > max_sal_2 then
         dept_id := dept_id_1;
      else
          dept_id := dept_id_2;
      end if;
      select manager_id into mgr_id from departments where department_id = dept_id;
      select salary into sal from employees where employee_id = mgr_id;
       return sal;
end;
sql°æ:
µÚÒ»²½ ²éѯ¸ø¶¨µÄÁ½¸ö²¿ÃÅÖÐ¸ßµÄÆ½¾ù¹¤×Ê:30,80
select max(avg_sal)
from (select avg(salary) avg_sal from emplo


Ïà¹ØÎĵµ£º

Oracle±¸·Ý¹ÜÀí ÌåÑé°æ

Oracle±¸·Ý¹ÜÀí
×î¼òµ¥µÄOracle Âß¼­±¸·ÝÈí¼þ£¬Ç¿´óµÄ¼Æ»®±¸·Ý¼°ÈßÓ౸·Ý¹¦ÄÜ
Èí¼þÌØÉ«£º
1.ÂéȸËäС£¬ÎåÔà¾ãÈ«¡£±¾×ÅʵÓõĽǶȿª·¢Õâ¸öÈí¼þ£¬Í¬Ê±¼æ¹Ë½çÃæÓ빦ÄÜ
2.ÖÇÄÜ»¯±¸·Ý¹¦ÄÜ£¬µ÷ÓÃOracle µÄexp±¸·Ý¹¦ÄÜ£¬ÖÇÄܼì²â±¸·Ý²ÎÊý
3.ÖÇÄÜѹËõ±¸·ÝÎļþ£¬²»Óõ£Ðı¸·ÝÊý¾Ý¹ý´ó¶øÓ²Å̳ÔÁ¦
4.¼°Æä¼òµ¥µÄ²Ù×÷½çÃæ£¬¼¸·ÖÖÓ¼ ......

ORACLE CASEº¯Êý

Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseËÑË÷º¯Êý¡£
 
--¼òµ¥Caseº¯Êý
CASE sex
WHEN '1' THEN 'ÄÐ'
WHEN '2' THEN 'Å®'
ELSE 'ÆäËû' END
--CaseËÑË÷º¯Êý
CASE WHEN sex = '1' THEN 'ÄÐ'
WHEN sex = '2' THEN 'Å®'
ELSE 'ÆäËû' END
ÕâÁ½ÖÖ·½Ê½£¬¿ÉÒÔʵÏÖÏàͬµÄ¹¦ÄÜ¡£¼òµ¥Caseº¯ÊýµÄд·¨Ïà¶Ô±È½Ï¼ò½à ......

Oracle¼ÆËãʱ¼ä²î±í´ïʽ

--»ñÈ¡Á½Ê±¼äµÄÏà²îºÀÃëÊý
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) Ïà²îºÀÃëÊý from DUAL;
/*
Ïà²îºÀÃëÊý
----------
  86401000
1 row selected
*/
--»ñÈ¡Á½Ê±¼äµÄÏà²îÃëÊý
select ce ......

Oracleɾ³ýÖØ¸´Ðд«ÖDz¥¿Í

 ²éѯ¼°É¾³ýÖØ¸´¼Ç¼µÄSQLÓï¾ä
1¡¢²éÕÒ±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count(peopleId) > 1)
2¡¢É¾³ý±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ