Çë½ÌÒ»¸öoracle´æ´¢¹ý³ÌµÄÎÊÌâ - Oracle / »ù´¡ºÍ¹ÜÀí
´úÂëÈçÏ£º
create procedure putdraw
(ID char,money number)
as
vbalance number,vname char;
begin
select Bmoney,name into vbalance,vname from bankcheck
where CIN=ID;
if(vname is null) then
raise_application_error(-20000,'please create a zhanghao');
end if;
update bankcheck set Bmoney=Bmoney+money
where CIN=ID;
end;
/
ҪʵÏÖ¶Ôbankcheck´æÇ®£¬Èç¹ûûÓÐÕË»§¾ÍÐèÒªÖØÐ¿ªÐÂÕË»§£¬ÉÏÃæ³ö´í²»ÖªÔõô´¦Àí£¬Íû¸÷λ¸ßÊÖÖ¸µãÏÂ
ûÈË£¬×Ô¼º¶¥¶¥ÏÈ
if Äã¼ÓÀ¨ºÅÁË¡£
vname char;
¸Ä³ÉVARCHAR2(5)
½¨ÒéÓÃmerge
merge into tablea
using tableb
on (conditions)
when matched then
update
set ...
when not matched then
insert into
values (...)
¹Ø¼ü´íÎóÔÚÓÚÄ㶨ÒåµÄÁ½¸ö±äÁ¿Ö®¼ä²»ÄÜÓöººÅ·Ö¸ô¡£
SQL code:
SQL> create procedure putdraw
2 (ID char,money number)
3 as
4 vbalance number;
5 vname char;
6 begin
7 select Bmoney,name into vbalance,vname from bankcheck
8 where CIN=ID;
9 if(vname is null) then
10 raise_application_error(-20000,'please create a zhanghao');
11 end if;
12 update bankcheck set Bmoney=Bmoney+money
13 where CIN=ID;
14 end;
15 /
Procedure created
SQL> select * from bankcheck;
BMONEY NAME CIN
---------- -----
Ïà¹ØÎÊ´ð£º
ÎÒÔÚ¿ª·¢µÄÕâ¸öÓ¦Óò¢·¢ÐԱȽϸߣ¬oracle¸üÐÂÊý¾ÝʱºòÈçºÎ´¦Àí²¢·¢´¦ÀíÄØ£¿¸÷λ´óÏÀ·¢±íºÃµÄ¹Ûµã°¡£¬ÔÚÏߵȴý£¡
oracleÊý¾Ý¸üÐÂʱ£¬»á×Ô¶¯Ä¬ÈÏÐÐËø¶¨£¬Â¥Ö÷²»Òª²ÙÐÄ£¬Oracle¶Ô²¢Ðд¦ÀíÒѾºÜ³ÉÊìÁË
ÒýÓÃ
oracle ......
×öÍædata guard ºó
ÔÚPrimary·þÎñÆ÷ Ö´ÐÐ
SQL>SELECT SEQUENCE#,APPLIED from V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
13 NO
13 YES ......
oracle ͨ¹ýBDlink Á¬½Óµ½Ò»Ì¨MS SQL,²éѯ¶¼¿ÉÒÔ,µ«ÊDz»ÖªµÀÈçºÎÔÚoracleͨ¹ýDBLinkµ÷ÓÃMS SQLµÄ´æ´¢¹ý³Ì,Çó½â~лл~
ÒýÓÃ
oracle ͨ¹ýBDlink Á¬½Óµ½Ò»Ì¨MS SQL,²éѯ¶¼¿ÉÒÔ,µ«ÊDz»ÖªµÀÈçºÎÔÚoracleͨ¹ýDBLinkµ÷ÓÃM ......
ÏÖÔÚ ÎÒÓÐ Êý¾Ý¿â oracle_A £¬ÀïÃæÓÐÕűí Ϊ table_A, È»ºóÎÒÒª¶¨Ê±µÄ °Ñ ÁíÒ»¸öÊý¾Ý¿â oracle_B,ÀïÃæµÄÒ»Õűí table_BµÄÊý¾Ý£¬ÐÂÔö·ÅÈëtable_AÀȻºóÔÙÇå¿Õtable_B£¬ÇëÎÊÓ¦¸ÃÔõô×ö£¿
ÓÃд¸ö´æ´¢¹ý³Ì£¬È»ºóÓ ......