Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
Contains the assigned rights for each user class
| Column | Type | Null | Default | Comment |
|---|---|---|---|---|
| IQXNetUserID | char(20) | NOT NULL | ||
| IQXNetRightID | char(20) | NOT NULL | ||
| Assigned | smallint | NULL | 1 for assigned, -1 for denied, 0, null or not stored for default |
| Constraint | Columns | References | Delete/update action |
|---|---|---|---|
| IQXNetUser | IQXNetUserID | pears.IQXNetUser (IQXNetUserID) | NOT NULL; ON DELETE CASCADE |
| IQXNetRight | IQXNetRightID | pears.IQXNetRight (IQXNetRightID) | NOT NULL; ON DELETE CASCADE |
| Name | Timing | Event |
|---|---|---|
| IQXNetRightAssigned_Audit | after | insert,delete,update order 1 |
-- IQX database structure split by table -- Source: IQXDatabaseStructure - with comments.sql -- Table: "pears"."IQXNetRightAssigned" -- Table comment: Contains the assigned rights for each user class -- Statement count: 7 CREATE TABLE "pears"."IQXNetRightAssigned" ( "IQXNetUserID" CHAR(20) NOT NULL ,"IQXNetRightID" CHAR(20) NOT NULL ,"Assigned" SMALLINT NULL ,PRIMARY KEY ("IQXNetUserID" ASC,"IQXNetRightID" ASC) ) GO COMMENT ON COLUMN "pears"."IQXNetRightAssigned"."Assigned" IS '1 for assigned, -1 for denied, 0, null or not stored for default' GO COMMENT ON TABLE "pears"."IQXNetRightAssigned" IS 'Contains the assigned rights for each user class' GO ALTER TABLE "pears"."IQXNetRightAssigned" ADD NOT NULL FOREIGN KEY "IQXNetUser" ("IQXNetUserID" ASC) REFERENCES "pears"."IQXNetUser" ("IQXNetUserID") ON DELETE CASCADE GO ALTER TABLE "pears"."IQXNetRightAssigned" ADD NOT NULL FOREIGN KEY "IQXNetRight" ("IQXNetRightID" ASC) REFERENCES "pears"."IQXNetRight" ("IQXNetRightID") ON DELETE CASCADE GO CREATE TRIGGER "IQXNetRightAssigned_Audit" after INSERT,DELETE,UPDATE ORDER 1 ON "pears"."IQXNetRightAssigned" REFERENCING OLD AS "old_name" NEW AS "new_name" FOR each ROW BEGIN DECLARE "olddesc" VARCHAR(40); DECLARE "newdesc" VARCHAR(40); DECLARE "nid" VARCHAR(20); DECLARE "rid" VARCHAR(20); DECLARE "classid" VARCHAR(20); IF "isnull"("old_name"."iqxnetuserid",'') <> '' THEN SET "nid" = "old_name"."iqxnetuserid" ELSE SET "nid" = "isnull"("new_name"."iqxnetuserid",'') END IF; SELECT CASE "IQXNetUserClassID" WHEN 'CANDIDATE' THEN 'PERSON' WHEN 'CLIENT' THEN 'COMPANY' WHEN 'OWNER' THEN 'USER' ELSE '' END, CASE "IQXNetUserClassID" WHEN 'CANDIDATE' THEN(SELECT top 1 "personid" FROM "iqxnetuserlink" WHERE "personid" IS NOT NULL AND "iqxnetuserid" = "nid" ORDER BY 1 ASC) WHEN 'CLIENT' THEN(SELECT top 1 "companyid" FROM "iqxnetuserlink" KEY JOIN "employment" AS "e" WHERE "e"."employmentid" IS NOT NULL AND "iqxnetuserid" = "nid" ORDER BY 1 ASC) WHEN 'OWNER' THEN "staffid" END INTO "classid","rid" FROM "iqxnetuser" WHERE "iqxnetuser"."iqxnetuserid" = "nid"; IF "classid" <> '' THEN SET "olddesc" = "string"("old_name"."iqxnetrightid",':',CASE "isnull"("old_name"."assigned",0) when-1 THEN 'Deny' WHEN 1 THEN 'Allowed' ELSE '' END); SET "newdesc" = "string"("isnull"("new_name"."iqxnetrightid",''),':',CASE "isnull"("new_name"."assigned",0) when-1 THEN 'Deny' WHEN 1 THEN 'Allowed' ELSE '' END); IF "olddesc" = ':' THEN SET "olddesc" = '' END IF; IF "olddesc" = "newdesc" THEN SET "newdesc" = '' END IF; CALL "AuditLog"("classid","rid",'iqx WEB Rights',"olddesc","newdesc") END IF END GO COMMENT TO PRESERVE FORMAT ON TRIGGER "pears"."IQXNetRightAssigned"."IQXNetRightAssigned_Audit" IS {CREATE TRIGGER IQXNetRightAssigned_Audit after INSERT,DELETE,UPDATE ORDER 1 ON IQXNetRightAssigned REFERENCING OLD AS old_name NEW AS new_name FOR EACH ROW BEGIN DECLARE olddesc VARCHAR(40); DECLARE newdesc VARCHAR(40); DECLARE nid VARCHAR(20); DECLARE rid VARCHAR(20); DECLARE classid VARCHAR(20); IF isnull(old_name.iqxnetuserid,'')<>'' THEN SET nid = old_name.iqxnetuserid; ELSE SET nid = isnull(new_name.iqxnetuserid,''); END IF; SELECT CASE IQXNetUserClassID WHEN 'CANDIDATE' THEN 'PERSON' WHEN 'CLIENT' THEN 'COMPANY' WHEN 'OWNER' THEN 'USER' ELSE '' END , CASE IQXNetUserClassID WHEN 'CANDIDATE' THEN (SELECT top 1 personid FROM iqxnetuserlink WHERE personid IS NOT NULL AND iqxnetuserid = nid ORDER BY 1 ) WHEN 'CLIENT' THEN (SELECT top 1 companyid FROM iqxnetuserlink KEY JOIN employment e WHERE e.employmentid IS NOT NULL AND iqxnetuserid = nid ORDER BY 1) WHEN 'OWNER' THEN staffid END INTO classid, rid FROM iqxnetuser WHERE iqxnetuser.iqxnetuserid = nid; IF classid<>'' THEN SET olddesc = string(old_name.iqxnetrightid,':',CASE isnull(old_name.assigned, 0) WHEN -1 THEN 'Deny' WHEN 1 THEN 'Allowed' ELSE '' END) ; SET newdesc = string(isnull(new_name.iqxnetrightid,''),':',CASE isnull(new_name.assigned, 0) WHEN -1 THEN 'Deny' WHEN 1 THEN 'Allowed' ELSE '' END) ; IF olddesc=':' THEN SET olddesc = '' END IF; IF olddesc=newdesc THEN SET newdesc = '' END IF; CALL AuditLog(classid,rid,'iqx WEB Rights', olddesc,newdesc); END IF; END } GO