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 Âß¼±¸·ÝÈí¼þ£¬Ç¿´óµÄ¼Æ»®±¸·Ý¼°ÈßÓ౸·Ý¹¦ÄÜ
Èí¼þÌØÉ«£º
1.ÂéȸËäС£¬ÎåÔà¾ãÈ«¡£±¾×ÅʵÓõĽǶȿª·¢Õâ¸öÈí¼þ£¬Í¬Ê±¼æ¹Ë½çÃæÓ빦ÄÜ
2.ÖÇÄÜ»¯±¸·Ý¹¦ÄÜ£¬µ÷ÓÃOracle µÄexp±¸·Ý¹¦ÄÜ£¬ÖÇÄܼì²â±¸·Ý²ÎÊý
3.ÖÇÄÜѹËõ±¸·ÝÎļþ£¬²»Óõ£Ðı¸·ÝÊý¾Ý¹ý´ó¶øÓ²Å̳ÔÁ¦
4.¼°Æä¼òµ¥µÄ²Ù×÷½çÃæ£¬¼¸·ÖÖÓ¼ ......
±¾ÊÓͼ°üÀ¨Shared poolÖÐSQLÓï¾äµÄÍêÕûÎı¾£¬Ò»ÌõSQLÓï¾ä¿ÉÄֳܷɶà¸ö¿é±»±£´æÓÚ¶à¸ö¼Ç¼ÄÚ¡£
V$SQLTEXTÖеij£ÓÃÁÐ
HASH_VALUE£ºSQLÓï¾äµÄHashÖµ
ADDRESS£ºsqlÓï¾äÔÚSGAÖеĵØÖ·
SQL_TEXT£ºSQLÎı¾¡£
PIECE£ºSQLÓï¾ä¿éµÄÐòºÅ
V$SQLTEXTÖеÄÁ¬½ÓÁÐ
Column View   ......
°´ÕÕOracleDocumentÖеÄÃèÊö£¬v$sysstat´æ´¢×ÔÊý¾Ý¿âʵÀýÔËÐÐÄÇ¿ÌÆð¾Í¿ªÊ¼ÀÛ¼ÆÈ«ÊµÀý(instance-wide)µÄ×ÊԴʹÓÃÇé¿ö¡£
ÀàËÆÓÚv$sesstat£¬¸ÃÊÓͼ´æ´¢ÏÂÁеÄͳ¼ÆÐÅÏ¢£º
1>.ʼþ·¢Éú´ÎÊýµÄͳ¼Æ(È磺user commits)
2>.Êý¾Ý²úÉú£¬´æÈ¡»òÕß²Ù×÷µÄtotalÁÐ(È磺redo size)
3>.Èç¹ûTIMED_STATISTICSֵΪtrue,Ôòͳ¼Æ»¨·Ñ ......
¾³£ÓÐͬÊÂ×ÉѯoracleÊý¾Ý¿â×Ö·û¼¯Ïà¹ØµÄÎÊÌ⣬ÈçÔÚ²»Í¬Êý¾Ý¿â×öÊý¾ÝÇ¨ÒÆ¡¢Í¬ÆäËüϵͳ½»»»Êý¾ÝµÈ£¬³£³£ÒòΪ×Ö·û¼¯²»Í¬¶øµ¼ÖÂÇ¨ÒÆÊ§°Ü»òÊý¾Ý¿âÄÚÊý¾Ý±ä³ÉÂÒÂë¡£ÏÖÔÚÎÒ½«oracle×Ö·û¼¯Ïà¹ØµÄһЩ֪ʶ×ö¸ö¼òµ¥×ܽᣬϣÍû¶Ô´ó¼Ò½ñºóµÄ¹¤×÷ÓÐËù°ïÖú¡£
¡¡¡¡Ò»¡¢Ê²Ã´ÊÇoracle×Ö·û¼¯
¡¡¡¡Oracle×Ö·û¼¯ÊÇÒ»¸ö×Ö½ÚÊý¾ÝµÄ½âÊÍ ......
²éѯ¼°É¾³ýÖØ¸´¼Ç¼µÄSQLÓï¾ä
1¡¢²éÕÒ±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2¡¢É¾³ý±íÖжàÓàµÄÖØ¸´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ý ......