oracle merge into Ó÷¨Ïê½â
ת×Ô£ºhttp://hi.baidu.com/magus163/blog/item/a4f783178e39ef00c93d6de6.html
¡¾ÕâÆªÎÄÕÂÀý×Ó½²½âµÄ±È½ÏÏêϸ£¬ÎÒ¾Íת¹ýÀ´ÁË¡¿
Oracle9iÒýÈëÁËMERGEÃüÁî,ÄãÄܹ»ÔÚÒ»¸öSQLÓï¾äÖжÔÒ»¸ö±íͬʱִÐÐinsertsºÍupdates²Ù×÷. MERGEÃüÁî´ÓÒ»¸ö»ò¶à¸öÊý¾ÝÔ´ÖÐÑ¡ÔñÐÐÀ´updating»òinsertingµ½Ò»¸ö»ò¶à¸ö±í.
Oracle 10gÖÐMERGEÓÐÈçÏÂһЩ¸Ä½ø£º
1¡¢UPDATE»òINSERT×Ó¾äÊÇ¿ÉÑ¡µÄ
2¡¢UPDATEºÍINSERT×Ó¾ä¿ÉÒÔ¼ÓWHERE×Ó¾ä
3¡¢ONÌõ¼þÖÐʹÓó£Á¿¹ýÂËν´ÊÀ´insertËùÓеÄÐе½Ä¿±ê±íÖÐ,²»ÐèÒªÁ¬½ÓÔ´±íºÍÄ¿±ê±í
4¡¢UPDATE×Ó¾äºóÃæ¿ÉÒÔ¸úDELETE×Ó¾äÀ´È¥³ýһЩ²»ÐèÒªµÄÐÐ
Ê×ÏÈ´´½¨Ê¾Àý±í£º
create table PRODUCTS
(
PRODUCT_ID INTEGER,
PRODUCT_NAME VARCHAR2(60),
CATEGORY VARCHAR2(60)
);
insert into PRODUCTS values (1501, 'VIVITAR 35MM', 'ELECTRNCS');
insert into PRODUCTS values (1502, 'OLYMPUS IS50', 'ELECTRNCS');
insert into PRODUCTS values (1600, 'PLAY GYM', 'TOYS');
insert into PRODUCTS values (1601, 'LAMAZE', 'TOYS');
insert into PRODUCTS values (1666, 'HARRY POTTER', 'DVD');
commit;
create table NEWPRODUCTS
(
PRODUCT_ID INTEGER,
PRODUCT_NAME VARCHAR2(60),
CATEGORY VARCHAR2(60)
);
insert into NEWPRODUCTS values (1502, 'OLYMPUS CAMERA', 'ELECTRNCS');
insert into NEWPRODUCTS values (1601, 'LAMAZE', 'TOYS');
insert into NEWPRODUCTS values (1666, 'HARRY POTTER', 'TOYS');
insert into NEWPRODUCTS values (1700, 'WAIT INTERFACE', 'BOOKS');
commit;
1¡¢¿ÉÊ¡ÂÔµÄUPDATE»òINSERT×Ó¾ä
ÔÚOracle 9i, MERGEÓï¾äÒªÇóÄã±ØÐëͬʱָ¶¨INSERTºÍUPDATE×Ó¾ä.¶øÔÚOracle 10g,
Äã¿ÉÒÔÊ¡ÂÔUPDATE»òINSERT×Ó¾äÖеÄÒ»¸ö.
ÏÂÃæµÄÀý×Ó¸ù¾Ý±íNEWPRODUCTSµÄPRODUCT_ID×Ö¶ÎÊÇ·ñÆ¥ÅäÀ´updates±íPRODUC
Ïà¹ØÎĵµ£º
Èí¼þ»·¾³£º
1¡¢Windows 2000+ORACLE 8.1.7
2¡¢ORACLE°²×°Â·¾¶Îª£ºC:\ORACLE
ʵÏÖ·½·¨£º
1¡¢¿ªÊ¼££¾ÉèÖ㣾¿ØÖÆÃæ°å££¾¹ÜÀí¹¤¾ß££¾·þÎñ Í£Ö¹ËùÓÐOracle·þÎñ¡£
2¡¢¿ªÊ¼££¾³ÌÐò££¾Oracle - OraHome81££¾Oracle Installation Products££¾ Universal Installer жװËùÓÐOracle²úÆ·£¬µ«Universal Installer±¾Éí ......
ÔÚÖ´ÐÐÒ»¸ö´æ´¢¹ý³Ì½¨±íʱ£¬³öÏÖÁËÕâ¸öORA-38301:ÎÞ·¨¶Ô»ØÊÕÕ¾ÖеĶÔÏóÖ´ÐÐDDL/DML´íÎó¡£·¢ÏÖÔÀ´ÕâÊÇ10GµÄÒ»¸öÐÂÌØÐÔ£¬»ØÊÕÕ¾¡£¶ÔÓÚdropµÄ±í²¢²»ÊÇÖ±½Óɾ³ýµôµÄ¡£¶øÊÇ·ÅÔÚ»ØÊÕÕ¾ÖÐÁË¡£RecycleBin¡£
¿ÉÊÇÔÚ»ØÊÕÕ¾ÖÐûÓв鵽Õâ¸ö±í¡£
select * from recyclebin;
ºÜÆæ¹Ö¡£
½øÐÐɾ³ý²Ù×÷¡£
½øÐÐɾ³ýºó£¬»¹ÊDz»ÄܶԸà ......
1.1.1 °²×°OracleÊý¾Ý¿â·þÎñ¶Ë
°´ÕÕ°²×°Ïòµ¼£¬ÕýÈ·°²×°Oracle 9i¡£
°´ÕÕĬÈÏÑ¡Ïµã»÷ÏÂÒ»²½£¬¼´¿É¡£
ͼ 2 2 Oracle °²×°Ïòµ¼ - »¶ÓʹÓÃ
ͼ 2 3 Oracle °²×°Ïòµ¼ - Îļþ¶¨Î»
ÕâÀÐè×¢ÒâOracleµÄ°²×°Îļþ·¾¶²»Äܰüº¬¿Õ¸ñºÍÖÐÎÄÃû¡£Ä¬Èϰ²×°Â·¾¶ÊÇD:\oracle\ora92,ÕâÀィÒéʹÓÃÕâ¸ö°²×°Â·¾¶¡££¨°²×°£© ......
ÈçºÎÐÞ¸ÄOracleĬÈÏÓû§ÃÜÂëÓÐЧÆÚʱ¼ä
1¡¢²é¿´Óû§µÄproifleÊÇÄĸö£¬Ò»°ãÊÇdefault£º
sql>SELECT username,PROFILE from dba_users;
2¡¢²é¿´Ö¸¶¨¸ÅÒªÎļþ£¨Èçdefault£©µÄÃÜÂëÓÐЧÆÚÉèÖãº
sql>SELECT * from dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3¡¢½«ÃÜÂëÓÐÐ ......
ORACLEµÄ·ÖÇø(Partitioning Option)ÊÇÒ»ÖÖ´¦Àí³¬´óÐͱíµÄ¼¼Êõ¡£·ÖÇøÊÇÒ»ÖÖ“·Ö¶øÖÎÖ®”µÄ¼¼Êõ£¬Í¨¹ý½«´ó±íºÍË÷Òý·Ö³É¿ÉÒÔ¹ÜÀíµÄС¿é£¬´Ó¶ø±ÜÃâÁ˶Ôÿ¸ö±í×÷Ϊһ¸ö´óµÄ¡¢µ¥¶ÀµÄ¶ÔÏó½øÐйÜÀí£¬Îª´óÁ¿Êý¾ÝÌṩÁË¿ÉÉìËõµÄÐÔÄÜ¡£·ÖÇøÍ¨¹ý½«²Ù×÷·ÖÅ䏸¸üСµÄ´æ´¢µ¥Ôª£¬¼õÉÙÁËÐèÒª½øÐйÜÀí²Ù×÷µÄʱ¼ä£¬²¢Í¨¹ýÔöÇ¿µÄ²¢Ðд ......