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

Oracle ´¥·¢Æ÷,ÐòÁÐÓÃ;

 1¡¢´´½¨±ít1 £ºcreate table t1 (id number,name nvarchar(8))£»
2¡¢´´½¨ÐòÁÐ £ºCREATE SEQUENCE t1_id INCREMENT BY 1 START WITH 1 MAXVALUE
1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER
3. ´´½¨´¥·¢Æ÷ £º
CREATE TRIGGER tig_insert_t1
BEFORE INSERT ON "YINZQ"."T1"
begin
if (:new.id is null) then
select t1_id.nextval into :new.id from dual; //ÆäÖеÄ:new.id Ö¸µÄÊÇt1±íÖÐÐÂÐеÄÁÐ
end if;
end;
Oracle´¥·¢Æ÷Óï·¨
´¥·¢Æ÷ÊÇÌØ¶¨Ê¼þ³öÏÖµÄʱºò£¬×Ô¶¯Ö´ÐеĴúÂë¿é¡£ÀàËÆÓÚ´æ´¢¹ý³Ì£¬´¥·¢Æ÷Óë´æ´¢¹ý³ÌµÄÇø±ðÔÚÓÚ:´æ´¢¹ý³ÌÊÇÓÉÓû§»òÓ¦ÓóÌÐòÏÔʽµ÷ÓõÄ,¶ø´¥·¢Æ÷ÊDz»Äܱ»Ö±½Óµ÷Óõġ£
¹¦ÄÜ£º
1¡¢ ÔÊÐí/ÏÞÖÆ¶Ô±íµÄÐÞ¸Ä
2¡¢ ×Ô¶¯Éú³ÉÅÉÉúÁУ¬±ÈÈç×ÔÔö×Ö¶Î
3¡¢ Ç¿ÖÆÊý¾ÝÒ»ÖÂÐÔ
4¡¢ ÌṩÉó¼ÆºÍÈÕÖ¾¼Ç¼
5¡¢ ·ÀÖ¹ÎÞЧµÄÊÂÎñ´¦Àí
6¡¢ ÆôÓø´ÔÓµÄÒµÎñÂß¼­
´¥·¢Æ÷´¥·¢Ê±¼äÓÐÁ½ÖÖ£ºafterºÍbefore¡£
1¡¢´¥·¢Æ÷µÄÓï·¨£º
CREATE [OR REPLACE] TIGGER´¥·¢Æ÷Ãû ´¥·¢Ê±¼ä ´¥·¢Ê¼þ
ON±íÃû
[FOR EACH ROW]
BEGIN
pl/sqlÓï¾ä
END
ÆäÖУº
´¥·¢Æ÷Ãû£º´¥·¢Æ÷¶ÔÏóµÄÃû³Æ¡£
ÓÉÓÚ´¥·¢Æ÷ÊÇÊý¾Ý¿â×Ô¶¯Ö´Ðеģ¬Òò´Ë¸ÃÃû³ÆÖ»ÊÇÒ»¸öÃû³Æ£¬Ã»ÓÐʵÖʵÄÓÃ;¡£
´¥·¢Ê±¼ä£ºÖ¸Ã÷´¥·¢Æ÷ºÎʱִÐУ¬¸ÃÖµ¿ÉÈ¡£º
before---±íʾÔÚÊý¾Ý¿â¶¯×÷֮ǰ´¥·¢Æ÷Ö´ÐÐ;
after---±íʾÔÚÊý¾Ý¿â¶¯×÷Ö®ºó³ö·¢Æ÷Ö´ÐС£
´¥·¢Ê¼þ£ºÖ¸Ã÷ÄÄЩÊý¾Ý¿â¶¯×÷»á´¥·¢´Ë´¥·¢Æ÷£º                        
insert£ºÊý¾Ý¿â²åÈë»á´¥·¢´Ë´¥·¢Æ÷;
ÈÃoracleʵÏÖ×ÔÔö×Ö¶Î
ÏȽ¨ÐòÁÐ,È»ºó½¨Á¢Ò»¸ö´¥·¢Æ÷ʵÏÖ!
cata0ÊDZíÃû,cata0_idÊÇÐèÒª×ÔÔöµÄ×Ö¶Î!
CREATE SEQUENCE SEQ_cata0
 INCREMENT BY  1
 START WITH  1
 MAXVALUE  9999999
CREATE TRIGGER TRG_cata0 BEFORE
INSERT  ON cata0
FOR EACH ROW begin
   SELECT SEQ_cata0.NEXTVAL
     INTO :NEW.cata0_ID
     from DUAL;
End TRG_cata0;
/***
*@PARAM STNAME ²»Òª´´½¨ÐòÁÐµÄ±í£¬¶à¸ö±íÔòÒÔ“,”¸ô¿ª
**/
CREATE OR REPLACE PROCEDURE PROC_CREATE_SEQ_TRIG(STNAME IN VARCHAR2)
AS
 STRSQL VARCHAR2(4000);
 TABLENAME VARCHAR2(50);
 PID VARC


Ïà¹ØÎĵµ£º

ORACLE º¯Êý¼¯½õ

Ò»¡¢ ³£ÓÃÈÕÆÚÊý¾Ý¸ñʽ
1.Y»òYY»òYYY ÄêµÄ×îºóһ룬Á½Î»»òÈýλ
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from ......

Oracle ´¥·¢Æ÷

 
create table emp2_log(
 uname varchar2(20),
 action varchar(10),
 atime date
);
create or replace trigger trig
   after insert or delete or update on emp2 for each row  //°óÔÚÒ»ÕűíÉÏ,before after ¶¼¿É
ÒÔ,beforeÊÇ ²åÊý¾Ý֮ǰ£¬afterÊÇÖ®ºó
begin
 &nb ......

ORACLE PL/SQL ´æ´¢¹ý³Ì½Ì³Ì


(1)SEQNAME.NEXTVALÀïÃæµÄÖµÈçºÎ¶Á³öÀ´£¿¿ÉÒÔÖ±½ÓÔÚinsert into test values(SEQNAME.NEXTVAL) ÊÇ¿ÉÒÔÓà  ÕâÑù£º     
SELECT tmp#_seq.NEXTVAL
        INTO id_temp
        from DUAL;  È»ºó¿ÉÒ ......

Oracle Form開發(4)

ÉÏ節學習開µÚÒ»個Form£¬這個節ÔÚÌí¼ÓÒ»個彈³öÏÂÀ­¿ò
µÚÒ»²½£ºÌí¼Ó記錄組
1.1  選ÖÐRecord Groups
1.2  單擊Create
1.3  輸Èë²é詢SQL
1.4  單擊OK
1.5  ÐÞ¸Ä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ