-------------------------------------------------------------------------
###建表###
CREATE TABLE "SPORTS"."LINEUP"("ID" NUMBER NOT NULL,
"TYPE" NUMBER(3) NOT NULL,
"BODY" VARCHAR2(100) NOT NULL,
"HITS" NUMBER(10) DEFAULT 0 NOT NULL,
PRIMARYKEY("ID"))
TABLESPACE "TS_SPORTS"
###建序列###
CREATE SEQUENCE "SPORTS"."SPORTS_LINEUP_ID_SEQ" INCREMENT BY 1
START WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE
CACHE 50 NOORDER
###建自动更新的触发器###
CREATE OR REPLACE TRIGGER "SPORTS"."SPORTS_LINEUP_ID_TRIGGER"
BEFORE INSERT ON "SPORTS"."LINEUP" FOR EACH ROW
DECLARE
next_id NUMBER;
BEGIN
--Get the next id number from the sequence
SELECT sports_lineup_id_seq.NEXTVAL INTO next_id FROM dual;
--Use the sequence number as the primarykey
--for there cord being inserted.
:new.id:=next_id;
END;
###建保护PRIMARYKEY的触发器###
CREATE OR REPLACE TRIGGER "SPORTS"."LINEUP_ID_UPDATE_TRIGGER"
BEFORE UPDATE OF "ID" ON "SPORTS"."LINEUP" FOR EACHROW
BEGIN
RAISE_APPLICATION_ERROR(-20000,
'sports_lineup_id_update_trigger:Update sof the ID field'
||'arenotallowed.');
END;
###建删除的触发器###
create or replace trigger tr_bis_exc_req_del
before delete
on bis_exc_req
referencing old as old new as new
for each row
begin
if :old.check_status = '3' then
raise_application_error (-20001,'*****!');
return;
end if;
end;
/
###建更新的触发器###
create or replace trigger tr_bis_exc_req_upd
before update
on bis_exc_req
referencing old as old new as new
for each row
begin
if :old.check_status = '3' then
raise_application_error (-20001,'*******!');
return;
end if;
end;
责任编辑:小草