×÷Óãºmerge into ½â¾öÓÃB±í¸úÐÂA±íÊý¾Ý£¬Èç¹ûA±íÖÐûÓУ¬Ôò°ÑB±íµÄÊý¾Ý²åÈëA±í£»
Óï·¨£º
MERGE INTO [your table-name] [rename your table here]
USING ( [write your query here] )[rename your query-sql and using just like a table]
ON ([conditional expression here] AND [...]...)
WHEN MATHED THEN [here you can execute some update sql or something else ]
WHEN NOT MATHED THEN [execute something else here ! ]
-------------------------------------ʵÀý-----------------------------------------------------------------
merge into tfa_alarm_act_nms a
using (select FP0,FP1,FP2,FP3,REDEFINE_SEVERITY
from tfa_alarm_status) b
on (a.fp0=b.fp0 and a.fp1=b.fp1 and a.fp2=b.fp2 and a.fp3=b.fp3)
when matched then update set a.redefine_severity=b.redefine_severity
when not matched then insert (a.fp0,a.fp1,a.fp2,a.fp3,a.org_severity,a.redefine_severity,a.event_time
,a.int_id)
values (b.fp0,b.fp1,b.fp2,b.fp3,b.REDEFINE_SEVERITY,b.redefine_severity,sysdate,7777778);
×÷ÓãºÀûÓñí tfa_alarm_status¸úб ......
oracle ´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨
1.»ù±¾½á¹¹
CREATE OR REPLACE PROCEDURE ´æ´¢¹ý³ÌÃû×Ö
(
²ÎÊý1 IN NUMBER,
²ÎÊý2 IN NUMBER
) IS
±äÁ¿1 INTEGER :=0;
±äÁ¿2 DATE;
BEGIN
END ´æ´¢¹ý³ÌÃû×Ö
2.SELECT INTO STATEMENT
½«select²éѯµÄ½á¹û´æÈëµ½±äÁ¿ÖУ¬¿ÉÒÔͬʱ½«¶à¸öÁд洢¶à¸ö±äÁ¿ÖУ¬±ØÐëÓÐÒ»Ìõ
¼Ç¼£¬·ñÔòÅ׳öÒì³£(Èç¹ûûÓмǼÅ׳öNO_DATA_FOUND)
Àý×Ó£º
BEGIN
SELECT col1,col2 into ±äÁ¿1,±äÁ¿2 from typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF ÅжÏ
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while Ñ»·
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.±äÁ¿¸³Öµ
V_TEST := 123;
6.ÓÃfor in ʹÓÃcursor
...
IS
CURSOR cur IS SELECT * from xxx;
BEGIN
FOR ......
´æ´¢¹ý³Ì °üº¬Èý²¿·Ö£º ÉùÃ÷£¬Ö´Ðв¿·Ö£¬Òì³£¡£
¿ÉÒÔÓÐÎÞ²ÎÊý³ÌÐòºÍ´ø²ÎÊý´æ´¢¹ý³Ì¡£
Î޲γÌÐòÓï·¨
1 create or replace procedure NoParPro
2 as ;
3 begin
4 ;
5 exception
6 ;
7 end;
8
´ø²Î´æ´¢¹ý³ÌʵÀý
1 create or replace procedure queryempname(sfindno emp.empno%type) as
2 sName emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
& ......
Ò»¡¢¼àÌýÆ÷(LISTENER)
¡¡¡¡¼àÌýÆ÷ÊÇOracle»ùÓÚ·þÎñÆ÷¶ËµÄÒ»ÖÖÍøÂç·þÎñ£¬Ö÷ÒªÓÃÓÚ¼àÌý¿Í»§¶ËÏòÊý¾Ý¿â·þÎñÆ÷¶ËÌá³öµÄÁ¬½ÓÇëÇó¡£¼ÈÈ»ÊÇ»ùÓÚ·þÎñÆ÷¶ËµÄ·þÎñ£¬ÄÇôËüÒ²Ö»´æÔÚÓÚÊý¾Ý¿â·þÎñÆ÷¶Ë£¬½øÐмàÌýÆ÷µÄÉèÖÃÒ²ÊÇÔÚÊý¾Ý¿â·þÎñÆ÷¶ËÍê³ÉµÄ¡£
¶þ¡¢±¾µØ·þÎñÃû(Tnsname)
¡¡¡¡Oracle¿Í»§¶ËÓë·þÎñÆ÷¶ËµÄÁ¬½ÓÊÇͨ¹ý¿Í»§¶Ë·¢³öÁ¬½ÓÇëÇó£¬ÓÉ·þÎñÆ÷¶Ë¼àÌýÆ÷¶Ô¿Í»§¶ËÁ¬½ÓÇëÇó½øÐкϷ¨¼ì²é£¬Èç¹ûÁ¬½ÓÇëÇóÓÐЧ£¬Ôò½øÐÐÁ¬½Ó£¬·ñÔò¾Ü¾ø¸ÃÁ¬½Ó¡£
±¾µØ·þÎñÃûÊÇOracle¿Í»§¶ËÍøÂçÅäÖõÄÒ»ÖÖ£¬ÁíÍ⻹ÓÐOracleÃû×Ö·þÎñÆ÷(Oracle Names Server)µÈ¡£Oracle³£ÓõĿͻ§¶ËÅäÖþÍÊDzÉÓõı¾µØ·þÎñÃû£¬±¾ÎÄÖнéÉܵÄÒ²Ö÷ÒªÊÇ»ùÓÚ±¾µØ·þÎñÃûµÄÅäÖá£
Èý¡¢OracleÍøÂçÁ¬½ÓÅäÖ÷½·¨
¡¡¡¡Åä ÖÃOracle·þÎñÆ÷¶ËÓë¿Í»§¶Ë¶¼¿ÉÒÔÔÚÆä×Ô´øµÄͼÐλ¯OracleÍøÂç¹ÜÀíÆ÷(Oracle Net Manager)ÀïÍê³É£¨Ç¿ÁÒ½¨ÒéÔÚÕâ¸öͼÐλ¯µÄ¹¤¾ßÏÂÍê³ÉOracle·þÎñ¶Ë»ò¿Í»§¶ËµÄÅäÖã©¡£ÔÚWindowsÏ£¬µã»÷“¿ªÊ¼/³ÌÐò/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”Æô¶¯OracleÍøÂç¹ÜÀíÆ÷¹¤¾ß£¬ÔÚLinux/UnixÏ£¬ÀûÓÃnetmgrÃüÁîÀ´Æô¶¯Í¼Ðλ¯OracleÍøÂç¹ÜÀíÆ÷£¬È磺
$ netmgr
WindowsÏÂÆô¶¯N ......
Ê×ÏÈ£¬ÐèÒªÖØÐÂÕûÀíÒ»ÏÂÏà¹Ø¸ÅÄoracleÊý¾Ý¿âÖк¯ÊýµÄ×÷Óã¬ÊÇÖ»Äܱ»±ðÈ˵÷Ó㬴洢¹ý³Ì¿ÉÒÔµ¥¶ÀÖ´ÐУ¬²¢ÇÒ¿ÉÒÔµ÷Óô洢¹ý³Ì£¬¶ø°üµÄ×÷Óðü¿ÉÒÔ½«ÈκγöÏÖÔÚ¿éÉùÃ÷µÄÓï¾ä ( ¹ý³Ì , º¯Êý , Óαê , Óαê , ÀàÐÍ , ±äÁ¿ ) ·ÅÓÚ°üÖÐ , Ï൱ÓÚÒ»¸öÈÝÆ÷ . ½«ÉùÃ÷Óï¾ä·ÅÈë°üÖеĺô¦ÊÇ : Óû§¿ÉÒÔ´ÓÆäËû PL/SQL ¿éÖÐ¶ÔÆä½øÐÐÒýÓà , Òò´Ë°üΪ PL/SQL ÌṩÁËÈ«¾Ö±äÁ¿£¬°ü·ÖΪ°üÍ·ºÍ°üÌ壬°üÍ·ÏȱàÒëͨ¹ýºó²ÅÄܱàÒë°üÌå¡£
°üÍ·µÄ´´½¨£º
1) °üÍ· :
Óï·¨¸ñʽ :
CREATE OR REPLACE PACKAGE package_name /* °üÍ·Ãû³Æ */
IS|AS
pl/sql_package_spec /* ¶¨Òå¹ý³Ì , º¯ÊýÒÔ¼°·µ»ØÀàÐÍ , ±äÁ¿ , ³£Á¿¼°Êý¾ÝÀàÐͶ¨Òå */
¶¨Òå°üÍ·Ó¦µ±×ñÑÒÔÏÂÔÔò :
1) °üÔªËØÎ»ÖÿÉÒÔÈÎÒâ°²ÅÅ . È»¶øÔÚÉùÃ÷²¿·Ö , ¶ÔÏó±ØÐëÔÚÒýÓÃǰ½øÐÐÉùÃ÷ .
2) °üÍ·¿ÉÒÔ²»¶ÔÈκÎÀàÐ͵ÄÔªËØ½øÐÐ˵Ã÷ . ÀýÈç , °üÍ·¿ÉÒÔÖ»´ø¹ý³ÌºÍº¯Êý˵Ã÷Óï¾ä , ¶ø²»ÉùÃ÷ÈκÎÒì³£ºÍÀàÐÍ .
3) ¶Ô¹ý³ ......
--´´½¨Óû§
create user iagent identified by ia
--profile default
default tablespace users
temporary tablespace temp;
--account unlock;
--ɾ³ýÓû§
drop user iagent cascade;
--ÐÞ¸ÄÓû§ÃÜÂë
alter user iagent identified by ia;
--¸ø´´½¨µÄÓû§ÊÚȨ
grant create user,drop user,alter user,create any view,
drop any view,exp_full_database,imp_full_database,dba,connect,resource,
create session to iagent;
--°Ñ±¸·ÝÎļþ¿½µ½±¾µØÓ²ÅÌ(±¾ÀýÒÔDÅÌΪÀý),È»ºóµ¼ÈëÊý¾Ý¿â
$ imp file=d:\expdata_iagent_2009-12-07.dmp ignore=y indexes=y grants=y rows=y fromuser=iagent touser=iagent log=d:impdat_2009-12-07.log
ÕâÀïÐèҪעÒâÒ»µã ±¸·ÝÎļþµ¼³öµÄʱºòÓõÄÊÇÄĸöÓû§ µ¼ÈëµÄʱºò¾ÍµÃÓÃÄǸöÓû§(»òÕßÊǾßÓк͵¼³ö±¸·ÝÓû§ÏàͬȨÏÞµÄÆäËûÓû§) £¬´ËÀýÖе¼Èë²ÉÓõÄÊÇÓû§Îªsystem ÃÜÂëΪdbmanagerµÄÓû§ £¬µ¼Èë³É¹¦ºó £¬ÔÚ¿Í»§¶ËÒªÁ¬½Ó´ËORACLE£¬ÐèÒªÐ޸Ŀͻ§¶ËµÄtnsnames.ora Îļþ È磺
IAGENT =
(DESCRIPTION =
......