Oracleº¯Êýmerge
°ÑÊý¾Ý´ÓÒ»¸ö±í¸´ÖƵ½ÁíÒ»¸ö±í£¬²åÈëÐÂÊý¾Ý»òÌæ»»µôÀÏÊý¾ÝÊÇÿһ¸öORACLE DBA¶¼»á¾³£Åöµ½µÄÎÊÌâ¡£ÔÚORACLE9iÒÔǰµÄÄê´ú£¬ÎÒÃÇÒªÏȲéÕÒÊÇ·ñ´æÔÚÀÏÊý¾Ý£¬Èç¹ûÓÐÓÃUPDATEÌæ»»£¬·ñÔòÓÃINSERTÓï¾ä²åÈ룬Æä¼äÉÙ²»ÁË»¹ÓÐһЩ±ê¼Ç±äÁ¿µÈµÈ£¬·±ËöµÄºÜ¡£ÏÖÔÚORACLE9iרΪÕâÖÖÇé¿öÌṩÁËMERGEÓï¾ä£¬Ê¹ÕâÒ»¹¤×÷±äµÃÒì³£ÇáËÉ£¬
MERGEÓï¾äÔÚ9iµÄÓï·¨ÈçÏ£º
MERGE [hint] INTO [schema .] table [t_alias] USING [schema .]
{ table | view | subquery } [t_alias] ON ( condition )
WHEN MATCHED THEN merge_update_clause
WHEN NOT MATCHED THEN merge_insert_clause;
Àý£º
MERGE INTO tdest d
USING tsrc s ON (s.srckey = d.destkey)
WHEN MATCHED THEN
UPDATE SET d.destdata = d.destdata + s.srcdata
WHEN NOT MATCHED THEN
INSERT (destkey,destdata) VALUES (srckey,srcdata)
Ò»ÌõÓï¾ä´úÌæÁËÔÀ´µÄÒ»¶Î¸´ÔÓÓï¾ä£¬µ«ÊÇʹÓÃMERGEÒ²ÊÇÓÐҪעÒâµÄµØ·½µÄ£¬¿´ÏÂÃæµÄÀý×Ó£º
CREATE TABLE tdest(destkey KEYTYE,destdata DATATYPE);
CREATE TABLE tsrc(srckey KEYTYE,srcdata DATATYPE);
--insert some rows into tsrc here.
MERGE INTO tdest d
USING tsrc s ON (d.destkey = s.srckey)
WHEN MATCHED THEN
UPDATE SET d.destkey = s.srckey
WHEN NOT MATCHED THEN
INSERT (d.destkey,d.destdata) VALUES (s.srckey,s.srcdata);
ÔÚ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');
i
Ïà¹ØÎĵµ£º
ÓÃOracle9i×Ô´øµÄÆóÒµ¹ÜÀíÆ÷»òPL/SQLͼÐλ¯µÄ·½·¨´´½¨±í¿Õ¼äºÍÓû§ÒÔ¼°·ÖÅäȨÏÞÊÇÏà¶Ô±È½Ï¼òµ¥µÄ£¬±¾ÎÄÒª½éÉܵÄÊÇÁíÒ»ÖÖ·½·¨£¬Ê¹ÓÃOracle 9iËù´øµÄÃüÁîÐй¤¾ß£ºSQLPLUSÀ´´´½¨±í¿Õ¼ä£¬Õâ¸ö·½·¨ÓÃÆðÀ´¸ü¼Ó¼òÃ÷¿ì½Ý¡£
¼ÙÉè ......
°²×°Ç°µÄ×¼±¸£º
µÇ¼ϵͳ£ºsqlplus system/0621
1. ´ÓÊý¾Ý×Öµäv$instanceÖлñÈ¡Êý¾Ý¿âµÄʵÀýÃûºÍ°æ±¾ºÅ£ºselect instance_name,version from v$instance;
2. ´ÓÊý¾Ý×Öµäv$versionÖлñÈ¡°æ±¾µÄÏêϸÐÅÏ¢£ºselect * from v$version;
3.È·ÈÏoracleËùʹÓõIJÎÊýÎļþ ......
ORACLE³£ÓÃÃüÁî
Ò»¡¢ORACLEµÄÆô¶¯ºÍ¹Ø±Õ
1¡¢ÔÚµ¥»ú»·¾³ÏÂ
ÒªÏëÆô¶¯»ò¹Ø±ÕORACLEϵͳ±ØÐëÊ×ÏÈÇл»µ½ORACLEÓû§£¬ÈçÏÂ
su - oracle
a¡¢Æô¶¯ORACLEϵͳ
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
b¡¢¹Ø±ÕORACLEϵͳ
oracle>svrmgrl
SVRMGR>connect&nb ......
¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹ûÀ´£¬ÆäʵÄúÖ»ÒªÀí½âºÃÁËÕâ¸ö rownum αÁеÄÒâÒå¾Í²»Ó¦¸Ã¸Ðµ½¾ªÆæ£¬Í¬ÑùÊÇαÁУ¬rownum Ó ......
OracleÊý¾Ý¿âϵͳ¸ù¾Ý³õʼ»¯²ÎÊýÎļþinit.oraÖÐÉèÖõIJÎÊýÀ´ÅäÖÃ×ÔÉíµÄÆô¶¯£¬Ã¿¸öʵÀýÔÚÆô¶¯Ö®Ç°£¬Ê×ÏȶÁÈ¡ÕâЩ²ÎÊýÎļþÖÐÉèÖõIJ»Í¬²ÎÊý¡£
OracleϵͳÖеIJÎÊý£¬¸ù¾ÝϵͳʹÓÃÇé¿ö¿ÉÒÔ¼òµ¥·ÖΪÁ½´óÀࣺ
ÆÕͨ²ÎÊý£ºÒ²¾ÍÊÇOracleϵͳÕý³£Ê¹ÓõÄһЩ²ÎÊý£¬
·Ç·²²ÎÊý£º°üÀ¨ÈýÖÖ£¬¹ýʱ²ÎÊý¡¢Ç¿µ÷²ÎÊýºÍÒþ²Ø²ÎÊý¡£
Ëæ×ÅOrac ......