Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

oracle´ø²ÎÊýÓαêµÄʹÓÃ


¡¡¡¡´ÓÓαêÌáÈ¡Êý¾Ý
¡¡¡¡´ÓÓαêµÃµ½Ò»ÐÐÊý¾ÝʹÓÃFETCHÃüÁÿһ´ÎÌáÈ¡Êý¾Ýºó£¬Óα궼ָÏò½á¹û¼¯µÄÏÂÒ»ÐС£Óï·¨ÈçÏ£º
FETCH cursor_name INTO variable[,variable,...]
¡¡¡¡¶ÔÓÚSELECT¶¨ÒåµÄÓαêµÄÿһÁУ¬FETCH±äÁ¿ÁÐ±í¶¼Ó¦¸ÃÓÐÒ»¸ö±äÁ¿ÓëÖ®Ïà¶ÔÓ¦£¬±äÁ¿µÄÀàÐÍÒ²ÒªÏàͬ¡£
¡¡¡¡Àý£º
SET SERVERIUTPUT ON
DECLARE
......

ÈçºÎÔÚOracleÖи´ÖƱí½á¹¹ºÍ±íÊý¾Ý


1. ¸´ÖƱí½á¹¹¼°ÆäÊý¾Ý£º
create table table_name_new as select * from table_name_old
2. Ö»¸´ÖƱí½á¹¹£º
create table table_name_new as select * from table_name_old where 1=2;
»òÕߣº
create table table_name_new like table_name_old
3. Ö»¸´ÖƱíÊý¾Ý£º
Èç¹ûÁ½¸ö±í½á¹¹Ò»Ñù£º
insert into table_name_ ......

ORACLE to_charº¯ÊýÏê½â


The following are number examples for the to_char
function.
to_char
(1210.73,
'9999.9')
would return '1210.7'
to_char
(1210.73,
'9,999.99')
would return '1,210.73'
to_char
(1210.73,
'$9,999.00')
would return
'$1,210.73'
to_char
(21,
'000099')
would return '000021'
The foll ......

ÈçºÎ½â¾ö¾ÖÓòÍøÖÐWindows·À»ðǽ²»ÄÜ·ÃÎÊOracleÎÊÌâ!


Èç¹ûÄãÊÇWINXP»òWIN2003µÄϵͳÖÐ×Ô´øµÄ·À»ðǽ,¿ÉÒÔÊÔÒ»ÏÂÒÔÏ·½·¨:
1.ÔÚ·À»ðǽµÄÀýÍâÖÐ,Ìí¼ÓORACLE.EXEÔËÐгÌÐò.(ÔÚoracle°²×°Ä¿Â¼ÕÒµ½binÎļþ¼ÐÖÐ)
2.ÔÙÔÚ·À»ðǽÀýÍâÖУ¬Ìí¼Ó¶Ë¿Ú1521¶Ë¿Ú¾ÍÑù¾ÖÓòÍøÄ򵀮äËû»úÆ÷¾Í¿ÉÒÔ·ÃÎÊÄãµÄORACLEÁË.
»òÕßÔڸ߼¶ÖÐ,Ñ¡Öе±Ç°Ê¹ÓõÄÍø¿¨,Ìí¼ÓIP,¶Ë¿ÚºÅ(1521),ÕâÑù,ÆäËû»úÆ÷Ò²¿ÉÒÔ·ÃÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ