oracle ±Ê¼Ç II Ö®DML:Êý¾Ý²Ù×÷ÓïÑÔ
DML:Data Manipulation Language Êý¾Ý²Ù×÷ÓïÑÔ
°üÀ¨£ºCRUD
1. insertÓï¾ä
(1) ´ÓÆäËü±íÖи´ÖÆÊý¾Ý,ʵÏÖ·½·¨:ÔÚinsert Óï¾äÖмÓÈë²éѯÓï¾ä
insert into sales_reps(id,name,salary,commission_pct) select employee_id,last_name,salary,commission_pct
from employees where job_id like '%rep';
(2) updateÖÐʹÓÃ×Ó²éѯ
update employees set job_id = (select job_id from employees where employee_id = 205),
salary = (select salary from employees where employee_id = 205)
where employee_id = 114;
È磺¸üÐÂ114ºÅÔ±¹¤µÄ¹¤×÷ºÍ¹¤×ÊʹÆäÓë205ºÅÔ±¹¤Ïàͬ
update employees set job_id = (select job_id from employees where employee_id = 205),
salary = (select salary from employees where employee_id = 205)
where employee_id = 114
ÔÙ¿´Ò»¸öÎÊÌ⣬×ÐϸÌå»á½â¾ö²½Ö裺
¸ü¸Ä 108 Ô±¹¤µÄÐÅÏ¢: ʹÆä ¹¤×ʱäΪËùÔÚ²¿ÃÅÖеÄ×î¸ß¹¤×Ê£¬job±äΪ¹«Ë¾ÖÐÆ½¾ù¹¤×Ê×îµÍµÄjob
·ÖÎö£º
µÚ1 ²½ Ê×ÏȲéѯ 108 ËùÔÚ²¿ÃŵÄ×î¸ß¹¤×ÊÊǶàÉÙ
select max(salary) from employees where department_id =
( select department_id from employees where employee_id = 108)
µÚ 2 ²½ ²éѯ¹«Ë¾ÖÐÆ½¾ù¹¤×Ê×îµÍµÄ job_id
select job_id from employees group by job_id having avg(salary) =
(select min(avg_sal) from(select avg(salary) avg_sal from employees group by job_id) )
µÚ 3 ²½ ʵÏÖ¸üÐÂ
update employees set salary = ( select max(salary) from employees
where department_id =
Ïà¹ØÎĵµ£º
¡¡¡¡oracle% sqlplus /nolog
¡¡¡¡SQL> conn / as sysdba
¡¡¡¡Êý¾Ý¿âµÄÎïÀíÎļþ
¡¡¡¡Êý¾ÝÎļþ
¡¡¡¡select file_name from dba_data_files;
¡¡¡¡¿ØÖÆÎļþ
¡¡¡¡select name from v$controlfile;
¡¡¡¡ÈÕÖ¾Îļþ
¡¡¡¡select member from v$logfile;
¡¡¡¡---------------------------------------------------------
......
µ¼¶Á£º
¡¡¡¡2009Äê9ÔÂOracle¹«Ë¾·¢²¼ÁËÆÚ´ýÒѾõÄOracle 11g R2£¬±¾ÏµÁÐÎÄÕ½«¸ø¶ÁÕßÒ»Ò»½Ò¿ªÐ°汾ÖеÄÐÂÌØÐÔ£¬²¢»á½éÉÜÆóÒµÈçºÎÀûÓÃÕâЩÐÂÌØÐÔ½«ÏÖÓеÄOracle 9i£¬10g£¬11g R1Éý¼¶µ½Oracle 11g R2.
¡¡¡¡¾ÀúÁËÄÑÒÔÈÌÊܵij¤Ê±¼äµÈ´ý£¬Oracle¹«Ë¾Í»È»ÔÚ9ÔÂ1·¢²¼ÁËOracle 11g R2£¬ÎÒ²»µÃ²»³ÐÈÏOracleµÄ±£Ãܹ¤×÷×öµÃ ......
(1) v$sql
¡¡¡¡Ò»ÌõÓï¾ä¿ÉÒÔÓ³Éä¶à¸öcursor,ÒòΪ¶ÔÏóËùÖ¸µÄcursor¿ÉÒÔÓв»Í¬Óû§(ÈçÀý1)¡£Èç¹ûÓжà¸öcursor(×ÓÓαê)´æÔÚ£¬ÔÚV$SQLAREAΪËùÓÐcursorÌṩ¼¯ºÏÐÅÏ¢¡£
Àý1£º
ÕâÀï½éÉÜÒÔÏÂchild cursor
user A: select * from tbl
user B: select * from tbl
´ó¼ÒÈÏΪÕâÁ½ÌõÓï¾äÊDz»ÊÇÒ»ÑùµÄ°¡£¬¿ÉÄÜ»áÓкܶàÈË»á˵ÊÇÒ»Ñù ......
±¾ÊÓͼ³ÖÐø¸ú×ÙËùÓÐshared poolÖеĹ²Ïícursor£¬ÔÚshared poolÖеÄÿһÌõSQLÓï¾ä¶¼¶ÔÓ¦Ò»ÁС£±¾ÊÓͼÔÚ·ÖÎöSQLÓï¾ä×ÊԴʹÓ÷½Ãæ·Ç³£ÖØÒª¡£
V$SQLAREAÖеÄÐÅÏ¢ÁÐ
HASH_VALUE£ºSQLÓï¾äµÄHashÖµ¡£
ADDRESS£ºSQLÓï¾äÔÚSGAÖеĵØÖ·¡£
ÕâÁ½Áб»ÓÃÓÚ¼ø±ðSQLÓï¾ä£¬ÓÐʱ£¬Á½Ìõ²»Í¬µÄÓï¾ä¿ÉÄÜhashÖµÏàͬ¡£Õâʱºò£¬±ØÐëÁ¬Í¬ADDRESSÒ ......