-
------------------------------------------
RDB$TRIGGER_NAME CHECK_1
RDB$RELATION_NAME PUR_CONCESSIONAIR
RDB$TRIGGER_SEQUENCE 1
RDB$TRIGGER_TYPE 6
RDB$TRIGGER_SOURCE <null>
RDB$TRIGGER_BLR blr_version5,
blr_for,
blr_rse, 1,
blr_relation,
15, 'P','U','R','_','P','H','O','N','E','N','U','M','B','E','R', 2,
blr_boolean,
blr_eql,
blr_field, 2, 16,
'C','O','N','C','E','S','S','I','O','N','A','I','R','_','I','D',
blr_field, 0, 16,
'C','O','N','C','E','S','S','I','O','N','A','I','R','_','I','D',
blr_end,
blr_erase, 2,
blr_eoc
RDB$DESCRIPTION <null>
RDB$TRIGGER_INACTIVE 0
RDB$SYSTEM_FLAG 0
RDB$FLAGS 3
Table definitions
CREATE TABLE PUR_PHONENUMBER
(
CONCESSIONAIR_ID RBS_FOREIGN_KEY ,
PHONETYPE_ID RBS_FOREIGN_KEY ,
PHONENUMBER RBS_C20 NOT NULL
);
ALTER TABLE PUR_PHONENUMBER ADD CONSTRAINT FK_PHONENUMBER_CONCESSIONAIR
FOREIGN KEY (CONCESSIONAIR_ID) REFERENCES PUR_CONCESSIONAIR
(CONCESSIONAIR_ID)
ALTER TABLE PUR_PHONENUMBER ADD CONSTRAINT PK_PUR_PHONENUMBER PRIMARY KEY
(CONCESSIONAIR_ID, PHONETYPE_ID, PHONENUMBER);
ALTER TABLE PUR_PHONENUMBER ADD CONSTRAINT FK_PHONENUMBER_PHONETYPE
FOREIGN KEY (PHONETYPE_ID) REFERENCES PUR_PHONETYPE
(PHONETYPE_ID)
CREATE TABLE PUR_CONCESSIONAIR
(
CONCESSIONAIR_ID RBS_IDENTITY_ID ,
CONCESSIONAIR RBS_C40 NOT NULL,
ADDRESS RBS_C40 NOT NULL,
POSTALCODE RBS_POSTCODE NOT NULL,
CITY RBS_C40 NOT NULL,
CONCESSIONAIR_BARCODE RBS_BARCODE ,
BARCODE_PREFIX RBS_C5 NOT NULL
);
ALTER TABLE PUR_CONCESSIONAIR ADD CONSTRAINT PK_PUR_CONCESSIONAIR PRIMARY
KEY
(CONCESSIONAIR_ID);
CREATE UNIQUE ASC INDEX IDX_BARCODE_PUR_CONCESSIONAIR ON PUR_CONCESSIONAIR
(CONCESSIONAIR_BARCODE);
/*
Trigger: TRG_INSERT_PUR_CONCESSIONAIR
Author : Roelof Wever
Re-Base Solutions, The Netherlands
Date : 10-1-2003 15:08:15
Table : Check if the given CONCESSIONAIR is uniek
Purpose :
*/
DECLARE VARIABLE FCOUNT INTEGER;
BEGIN
SELECT COUNT (CONCESSIONAIR) FROM PUR_CONCESSIONAIR WHERE
UPPER(CONCESSIONAIR) = UPPER(NEW.CONCESSIONAIR) INTO :FCOUNT;
IF (FCOUNT <> 0) THEN
begin
exception DUP_CONCESSIONAIR;
end
ELSE
begin
SELECT COUNT (CONCESSIONAIR) FROM PUR_CONCESSIONAIR WHERE BARCODE_PREFIX
= UPPER(NEW.BARCODE_PREFIX) INTO :FCOUNT;
IF (FCOUNT <> 0) THEN
EXCEPTION DUP_CONCESSIONAIR_PREFIX;
end
END
/*
Trigger: TRG_UPDATE_PUR_CONCESSIONAIR
Author : Roelof Wever
Re-Base Solutions, The Netherlands
Date : 10-1-2003 15:19:37
Table : PUR_CONCESSIONAIR
Purpose : check if the given name is uniek
*/
DECLARE VARIABLE FCOUNT INTEGER;
BEGIN
IF (OLD.CONCESSIONAIR <> NEW.CONCESSIONAIR) THEN
SELECT COUNT (CONCESSIONAIR) FROM PUR_CONCESSIONAIR WHERE
UPPER(CONCESSIONAIR) = UPPER(NEW.CONCESSIONAIR)
AND CONCESSIONAIR_ID <> OLD.CONCESSIONAIR_ID INTO :FCOUNT;
IF (FCOUNT <> 0) THEN
exception DUP_CONCESSIONAIR;
END