17,377
社区成员
发帖
与我相关
我的任务
分享
--Create Table TARIFF for type A
CREATE TABLE TARIFF_A
(
AutoID NUMBER(19,0) Not Null,
OnRampID Number(10,0) NOT NULL,
OffRampID Number(10,0) NOT NULL,
Toll Number(10,2) NOT NULL,
FailFlag Char(1) Default 0 Not Null,
REMARK varchar2(16)
);
--Create Sequence for TARIFF_B
CREATE SEQUENCE SEQ_TARIFF_A
MINVALUE 3100000000000000001
MAXVALUE 3199999999999999999
START WITH 3100000000000000001
INCREMENT BY 1
NOCACHE;
--Create Unique Index
CREATE UNIQUE INDEX UIDX_TARIFF_A
ON TARIFF_A(DECODE(FailFlag,'0',OnRampID),
DECODE(FailFlag,'0',OffRampID));
--Create Trigger For TARIFF_A
CREATE OR REPLACE TRIGGER TARIFF_A_before_insert
BEFORE INSERT
ON TARIFF_A
FOR EACH ROW
DECLARE
v_AutoID NUMBER(19,0);
BEGIN
SELECT SEQ_TARIFF_A.nextval INTO v_AutoID
FROM dual;
:new.AutoID := v_AutoID;
END;