ORACLEÊÓͼµÄÐÞ¸Ä
Ò»¸öÅóÓÑÔڻظ´µÄʱºò¸ø³öÁËһƪ inthirties дµÄ¹ØÓÚ¸üÐÂÊÓͼµÄÌû×Ó£¬¼ò½àÃ÷ÁË£¬×ª¹ýÀ´Ñ§Ï°Ñ§Ï°¡£
===============================================================================
OracleÀïÊÓͼ¿ÉÒÔupdateÂð£¿
Èç¹ûÔÚÍøÉÏ×ö³öÕâÑùÒ»¸öÎÊÌâµ÷²é£¬ÎÒÏëºÜ¶àµÄÍøÓÑÅóÓÑ£¬¶¼»á²»¼Ù˼Ë÷µÄ»Ø´ðµ½£¬²»ÐУ¬ÊÓͼÊÇÂß¼¼Ç¼£¬²¢²»ÊÇÎïÀí¼Ç¼£¬¶øÇҺܶàµÄÅóÓÑ
ÔÚÓ°ÏìÉî´¦¶¼ÓÐÕâÑùÒ»¸ödzÒâʶӰÏì»òÕßÊǾÑé¡£
µ«ÊÇÔÚÕâÀÎÒÒª¸æËß´ó¼ÒµÄÊÇ£¬ÊÓͼÊÇ¿ÉÒÔupdate£¬²»¹ý£¬ÕâÊÇÊÓͼ²»ÊÇÒ»¸öÆÕͨÊÓͼ¡£
ÒÔÏÂÕâÑùµÄÊÓͼÊÇ¿ÉÒÔupdate
updateµÄÇé¿ö£¬±ØÐëÊÇÒ»ÏÂÇé¿ö
1. viewµÄ×Ö¶Îֻɿ¼°Ò»¸ö±í¡£
2. Èç¹ûÉæ¼°¶à¸ö±íµÄ»°£¬±»(Éæ¼°µ½µÄ)viewÁÐËùÓ³ÉätableÁÐ(»òÁеÄ×éºÏ)±ØÐëÊÇÓÐÖ÷½¡Ô¼ÊøµÄ
3. Ç¿ÖÆÖ´ÐУ¬·½·¨ÊǼÓÉÏhint /*+ BYPASS_UJVC */
ÎÒÃÇ×öÒ»ÏÂʵÑ飬OS window xp profession£¬ Oracle 10.2.0.1
SQL> CREATE TABLE test1 ( id integer primary key, num integer );
SQL> INSERT INTO test1 VALUES (1,0);
SQL> INSERT INTO test1 VALUES (2,0);
SQL> CREATE TABLE test2 ( id integer, num integer, upd integer );
SQL> INSERT INTO test2 VALUES (1,10, 0);
SQL> INSERT INTO test2 VALUES (2,20, 1);
SQL> UPDATE ( SELECT t1.id id1, t1.num num1, t2.id id2, t2.num num2 from test1 t1, test2 t2 WHERE t1.id=t2.id AND t2.upd=1) SET num1=num2;
ORA-01779: cannot modify a column which maps to a non key-preserved table
SQL> CREATE UNIQUE INDEX test2_idx_001 ON test2 (id);
SQL> UPDATE ( SELECT t1.id id1, t1.num num1, t2.id id2, t2.num num2 from test1 t1, test2 t2 WHERE t1.id=t2.id AND t2.upd=1) SET num1=num2;
1 row updated.
SQL> UPDATE ( SELECT /*+ BYPASS_UJVC */ t1.id id1, t1.num num1, t2.id id2, t2.num num2 from test1 t1, test2 t2 WHERE t1.id=t2.id AND t2.upd=1) SET num1=num2;
´ó¼Ò¿´µ½ÁË£¬Í¨¹ýÕâÀïµÄʵÑ飬ÎÒÃÇ¿´µ½ÁË£¬²¢²»ÊÇËùÓеÄÊÓͼ¶¼²»ÄÜupdateµÄ£¬ÓÐʱÎÒÃǵÄDZÒâʶºÍ¾Ñé¶ÔÓÚÎÒÃǵÄѧϰºÜÓаïÖú£¬²»¹ý
ÓÐʱÕâÑùµÄdzÒâ˼ºÍ¾Ñé¶ÔÎÒÃǵÄѧϰҲÓÐһЩ²»ºÃµÄÓ°Ï죬¶à˼¿¼£¬¶à»³ÒÉ£¬¶àÑéÖ¤£¬ÊÇÒ»¸öѧϰÖеĺÃϰ¹ß£¬ºÜ¶àµÄ¹Ì»¯ÏÂÀ´µÄ˼Ï룬²¢²»Ò»¶¨ÊÇÕýÈ·µÄ£¬ÔúʵµÄѧϰ£¬²»·Å¹ýѧϰÖеÄÒÉÎÊ£¬Ñ§»á×öÒ»¸öÕýÈ·µÄÀë¾ÅѵÀÕß¡£
/*
µ±È»£¬Ö±½Ó¶ÔÊÓͼµÄ¸üÐÂÊ
Ïà¹ØÎĵµ£º
OracleϵÁУº¼Ç¼£¨Record£©
Ò»£¬Ê²Ã´ÊǼǼ£¨Record£©£¿
Óɵ¥ÐжàÁеıêÁ¿¹¹³ÉµÄ¸´ºÏ½á¹¹¡£¿ÉÒÔ¿´×öÊÇÒ»ÖÖÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ¡£×é³ÉÀàËÆÓÚ¶àάÊý×é¡£
½«Ò»¸ö»ò¶à¸ö±êÁ¿·â×°³ÉÒ»¸ö¶ÔÏó½øÐвÙ×÷¡£ÊÇÒ»ÖÖÁÙʱ¸´ºÏ¶ÔÏóÀàÐÍ¡£
¼Ç¼¿ÉÒÔÖ±½Ó¸³Öµ¡£RECORD1 :=RECORD2£»
¼Ç¼²»¿ÉÒÔÕûÌå±È½Ï. ......
Oracle ÈýÖÖ¼¯ºÏÊý¾ÝÀàÐ͵ıȽÏ:
PL/SQLÖÐûÓÐÊý×éµÄ¸ÅÄËûµÄ¼¯ºÏÊý¾ÝÀàÐͺÍÊý×éÊÇÏàËÆµÄ¡£ÔÚ7.3ÒÔǰµÄ°æ±¾ÖÐÖ»ÓÐÒ»ÖÖ¼¯ºÏ£¬³ÆÎªPL/SQL±í£¬ÔÚÕâÖ®ºóÓÖÓÐÁ½ÖÖ¼¯ºÏÊý¾ÝÀàÐÍ:ǶÌ×±íºÍvarray¡£ÆäÖÐvarray¼¯ºÏÖеÄÔªËØÊÇÓÐÊýÁ¿ÏÞÖÆµÄ£¬index_by±íºÍǶÌ×±íÊÇûÓÐÕâ¸öÏÞÖÆµÄ¡£index-by±íÊÇÏ¡ÊèµÄ£¬Ò²¾ÍÊÇ˵ϱê¿ÉÒÔ²»Á¬Ðø ......
Oracle Database 10g ÌṩÁËÒ»¸öÏÔÖø¸Ä½øµÄ¹¤¾ß£º×Ô¶¯¹¤×÷¸ºÔØÐÅÏ¢¿â (AWR:Automatic Workload Repository)¡£Oracle ½¨ÒéÓû§ÓÃÕâ¸öÈ¡´ú Statspack¡£AWR ʵÖÊÉÏÊÇÒ»¸ö Oracle µÄÄÚÖù¤¾ß£¬Ëü²É¼¯ÓëÐÔÄÜÏà¹ØµÄͳ¼ÆÊý¾Ý£¬²¢´ÓÄÇЩͳ¼ÆÊý¾ÝÖе¼³öÐÔÄÜÁ¿¶È£¬ÒÔ¸ú×ÙDZÔÚµÄÎÊÌâ¡£Óë Statspack ²»Í¬£¬¿ìÕÕÓÉÒ»¸ö³ÆÎª MMON µÄеĺó ......
½ñÄêµÄOracleÈ«Çò´ó»áÓÚ10ÔÂ11ÈÕ£15ÈÕÔÚÃÀ¹ú¾É½ðɽµÄMosconeÖÐÐÄÒѾÀ¿ªÐòÄ»ÁË¡£
¡¡¡¡ Oracle¶ÔSun¹«Ë¾µÄ³¤ÆÚ¼Æ»®ÎÞÒÉÊDZ¾´ÎOOW´ó»áµÄ½¹µã¡£µ«ÔÚ̸ÂÛÕâ¸ö»°Ìâ֮ǰ£¬ÎÒÃÇ×¼±¸ÁËÒ»×é´ó»áµÄÓÐȤÊý¾Ý£¬ÏÈÈôó¼Ò¶Ô±¾´Î´ó»áÓиöÕûÌåµÄÓ¡Ïó¡£
¡¡¡¡ÓйØÕû¸ö´ó»áµÄÊý×Ö£º
¡¡¡¡· ½ü4.3ÍòÈ˵½»á
¡¡¡¡· ΪÃÀ¹ ......
Ô´´ÓÚ2007Äê04ÔÂ12ÈÕ£¬2009Äê10ÔÂ15ÈÕÇ¨ÒÆÖÁ´Ë¡£
windows xp£¬Êý¾Ý¿âoracle 10.2.0¡£1
ûÓб¸·Ý£¬»ù±¾ÉÏÊÇĬÈϰ²×°£¬ºÃÏñ»¹²»Êǹ鵵ģʽ
Ö¢×´£ºsqlplusÖ»ÓÐsysdbaÓû§ÄܽøÈ¥£¬ÆäËûÓû§½øÈ¥Ò»¸Å±¨£ºora-01033£ºoracleÕýÔÚ³õʼ»¯»ò¹Ø±Õ
¶øÇÒsysdbaÓû§½øÈ¥Ö®ºóÄÜÖ´ÐÐselect sysdate from dual£¬µ«ÊÇÖ´ÐÐselect use ......