RP REPORTSERVER
Материал из GedeminWiki
CREATE TABLE rp_reportserver
( id dintkey, computername dtext20 NOT NULL, resultpath dtext255, starttime dtime, endtime dtime, frqdataread dtime, actualreport dinteger DEFAULT 1, unactualreport dinteger DEFAULT 2, ibparams dtext255, localstorage dboolean DEFAULT 1, usedorder dinteger, serverport dintkey DEFAULT 2048, reserved dinteger );
ALTER TABLE rp_reportserver ADD CONSTRAINT rp_pk_reportserver PRIMARY KEY (id);
CREATE UNIQUE INDEX RP_X_REPORTSERVER_NAME ON RP_REPORTSERVER (COMPUTERNAME);
ALTER TABLE rp_reportserver ADD CONSTRAINT rp_chk_reportserver_act CHECK(actualreport <= unactualreport);
ALTER TABLE rp_reportlist ADD CONSTRAINT rp_fk_reportlist_serverkey FOREIGN KEY (serverkey) REFERENCES rp_reportserver(id) ON UPDATE CASCADE ON DELETE SET NULL;
COMMIT;
SET TERM ^ ;
CREATE TRIGGER rp_before_insert_reportserver FOR rp_reportserver
BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.id IS NULL) THEN
NEW.id = GEN_ID(gd_g_unique, 1) + GEN_ID(gd_g_offset, 0);
IF ((NEW.frqdataread < '1:00:00') OR (NEW.frqdataread IS NULL)) THEN
NEW.frqdataread = '1:00:00';
IF (NEW.starttime IS NULL) THEN
BEGIN
NEW.starttime = '18:00:00';
NEW.endtime = '21:00:00';
END
IF (NEW.endtime IS NULL) THEN
NEW.endtime = NEW.starttime + 2;
END
^
SET TERM ; ^