/************************************************************ * * ElevateDB Reverse-Engineered script for the * Thursday database * * Generated on 06/04/2010 07:52:38 * By the user RL * ************************************************************/ SCRIPT BEGIN /************************************************************ * Tables ************************************************************/ EXECUTE IMMEDIATE 'CREATE TABLE "Attributes" ( "_Attribute" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Bayesian" ( "_Token" VARCHAR(60) COLLATE "ANSI_CI", "_Spam" INTEGER DEFAULT 0, "_NonSpam" INTEGER DEFAULT 0, "_Total" INTEGER DEFAULT 0, "_Probability" FLOAT DEFAULT 0.0 ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "CallMenu" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_BelongsTo" INTEGER, "_Folder" BOOLEAN DEFAULT FALSE , "_Caption" VARCHAR(40) COLLATE "ANSI_CI", "_Result" VARCHAR(5) COLLATE "ANSI_CI", "_Action" VARCHAR(10) COLLATE "ANSI_CI", "_Followup" BOOLEAN DEFAULT FALSE , "_AddToConnects" BOOLEAN DEFAULT FALSE , "_PNI" VARCHAR(1) COLLATE "ANSI" DEFAULT ''I'' DESCRIPTION ''P=Positive, N=Negative, I=Ignore or neutral'', "_Score" INTEGER, "_TaskList" BOOLEAN DEFAULT FALSE , "_MoveToNext" BOOLEAN DEFAULT FALSE , "_UpdateCalled" BOOLEAN DEFAULT FALSE , "_AddToNotes" BOOLEAN DEFAULT FALSE , "_AutoComplete" BOOLEAN DEFAULT FALSE , "_EditComments" BOOLEAN DEFAULT FALSE , "_Confirm" BOOLEAN DEFAULT FALSE , "_ZeroAttempts" BOOLEAN DEFAULT FALSE , "_AddToAdditionalNotes" BOOLEAN DEFAULT FALSE , "_fkTemplates" INTEGER, "_AlterContactStatus" BOOLEAN DEFAULT FALSE, "_AlterCompanyStatus" BOOLEAN DEFAULT FALSE, "_Headhunted" BOOLEAN DEFAULT FALSE, "_Callback" BOOLEAN DEFAULT FALSE, "_Analysis" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Calls" ( "_CallID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkProjects" INTEGER, "_fkContacts" INTEGER, "_fkCompanies" INTEGER, "_fkSites" INTEGER, "_fkCareer" INTEGER, "_DateAdded" DATE DEFAULT CURRENT_DATE, "_Done" BOOLEAN DEFAULT FALSE , "_CallBack" BOOLEAN DEFAULT FALSE , "_Headhunted" BOOLEAN DEFAULT FALSE, "_LastAttempt" DATE, "_LastResult" VARCHAR(5) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_AlarmSet" BOOLEAN DEFAULT FALSE , "_HideSet" BOOLEAN DEFAULT FALSE , "_HideAlarm" TIMESTAMP, "_fkIntroductions" INTEGER, "_IsCandidate" BOOLEAN DEFAULT FALSE , "_DateBecameCandidate" DATE, "_Stage" VARCHAR(30) COLLATE "ANSI_CI", "_Potential" BOOLEAN DEFAULT FALSE , "_Notes" CLOB COLLATE "ANSI_CI", "_AdditionalNotes" CLOB COLLATE "ANSI_CI", "_Analysis" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "CallStats" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Date" DATE DEFAULT CURRENT_DATE, "_Time" TIME DEFAULT CURRENT_TIME, "_fkCallMenu" INTEGER, "_fkProjects" INTEGER, "_fkCalls" INTEGER, "_fkContacts" INTEGER, "_fkCompanies" INTEGER, "_fkStaff" VARCHAR(3) COLLATE "ANSI_CI", "_Result" VARCHAR(5) COLLATE "ANSI_CI", "_Analysis" VARCHAR(25) COLLATE "ANSI_CI", "_Comment" VARCHAR(50) COLLATE "ANSI_CI", "_PNI" VARCHAR(1) COLLATE "ANSI_CI", "_Score" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Career" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkContacts" INTEGER, "_fkCompanies" INTEGER, "_fkSites" INTEGER, "_Started" SMALLINT, "_Left" SMALLINT, "_fkContacts_Manager" INTEGER, "_UnlistedCompany" VARCHAR(60) COLLATE "ANSI_CI", "_Secretary" VARCHAR(50) COLLATE "ANSI_CI", "_SecEMail" VARCHAR(60) COLLATE "ANSI_CI", "_SecPhone" VARCHAR(25) COLLATE "ANSI_CI", "_MainPhone" VARCHAR(25) COLLATE "ANSI_CI", "_Email" VARCHAR(60) COLLATE "ANSI_CI", "_OkForEmail" BOOLEAN DEFAULT FALSE , "_fkJobCodes" VARCHAR(10) COLLATE "ANSI_CI", "_JobTitle" VARCHAR(50) COLLATE "ANSI_CI", "_Created" DATE DEFAULT CURRENT_DATE, "_Autocclist" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "ColourSchemes" ( "_ID" VARCHAR(30) COLLATE "ANSI_CI", "_Form" CLOB COLLATE "ANSI_CI", "_GlowButtons" CLOB COLLATE "ANSI_CI", "_AdvStringGrid" CLOB COLLATE "ANSI_CI", "_OfficePager" CLOB COLLATE "ANSI_CI", "_Lookups" CLOB COLLATE "ANSI_CI", "_Toolbars" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Companies" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Name" VARCHAR(60) COLLATE "ANSI_CI", "_fkCompanies_Parent" INTEGER, "_Website" VARCHAR(100) COLLATE "ANSI_CI", "_fkOrgType" VARCHAR(10) COLLATE "ANSI_CI", "_fkSICGroup" VARCHAR(2) COLLATE "ANSI_CI", "_fkSICCode" VARCHAR(4) COLLATE "ANSI_CI", "_eMailDomain" VARCHAR(60) COLLATE "ANSI_CI", "_fkMarkets" VARCHAR(10) COLLATE "ANSI_CI", "_fkSandT_Turnover" VARCHAR(1) COLLATE "ANSI" DEFAULT ''?'', "_fkSandT_Staffing" VARCHAR(1) COLLATE "ANSI" DEFAULT ''?'', "_YearEnd" VARCHAR(10) COLLATE "ANSI_CI", "_Status" VARCHAR(10) COLLATE "ANSI_CI", "_ModDate" DATE, "_Source" VARCHAR(20) COLLATE "ANSI_CI", "_PNotes" VARCHAR(35) COLLATE "ANSI_CI", "_Created" DATE DEFAULT CURRENT_DATE, "_Notes" CLOB COLLATE "ANSI_CI", "_Links" CLOB COLLATE "ANSI_CI", "_Profile" CLOB COLLATE "ANSI_CI", "_Products" CLOB COLLATE "ANSI_CI", "_UserFlags" CLOB COLLATE "ANSI_CI", "_URLList" CLOB COLLATE "ANSI_CI", "_MarketPlace" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Config" ( "_ID" VARCHAR(45) COLLATE "ANSI_CI", "_Type" VARCHAR(1) COLLATE "ANSI_CI", "_UserSettable" BOOLEAN DEFAULT FALSE , "_ParamData" CLOB COLLATE "ANSI_CI", "_Description" VARCHAR(65) COLLATE "ANSI_CI", "_Group" VARCHAR(15) COLLATE "ANSI_CI", "_SubGroup" VARCHAR(15) COLLATE "ANSI_CI", "_Editor" VARCHAR(15) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Connections" ( "_Connection" VARCHAR(50) COLLATE "ANSI_CI", "_Active" BOOLEAN DEFAULT FALSE , "_DisconnectAfterUse" BOOLEAN DEFAULT FALSE , "_DialUp" BOOLEAN DEFAULT FALSE , "_LogonID" VARCHAR(60) COLLATE "ANSI_CI", "_Password" VARCHAR(60) COLLATE "ANSI_CI", "_UploadSpeed" VARCHAR(5) COLLATE "ANSI_CI", "_DownloadSpeed" VARCHAR(5) COLLATE "ANSI_CI", "_FailedDialupRetries" INTEGER DEFAULT 3, "_DisconnectIfAlreadyConnected" BOOLEAN DEFAULT FALSE ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Contacts" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Title" VARCHAR(4) COLLATE "ANSI_CI", "_Forename" VARCHAR(15) COLLATE "ANSI_CI", "_Surname" VARCHAR(30) COLLATE "ANSI_CI", "_Address1" VARCHAR(35) COLLATE "ANSI_CI", "_Address2" VARCHAR(35) COLLATE "ANSI_CI", "_Town" VARCHAR(35) COLLATE "ANSI_CI", "_County" VARCHAR(35) COLLATE "ANSI_CI", "_Country" VARCHAR(35) COLLATE "ANSI_CI", "_PostCode" VARCHAR(10) COLLATE "ANSI_CI", "_HomePhone" VARCHAR(25) COLLATE "ANSI_CI", "_LastDPADate" DATE, "_LastDPACheckBy" VARCHAR(30) COLLATE "ANSI_CI", "_LastDPAAccessRequest" DATE, "_LastDPASupplied" DATE, "_Mobile" VARCHAR(25) COLLATE "ANSI_CI", "_HomeEmail" VARCHAR(60) COLLATE "ANSI_CI", "_LastRecruited" DATE, "_LatestCVDate" DATE, "_Placed" DATE, "_fkJobCodes" VARCHAR(10) COLLATE "ANSI_CI", "_fkMarkets" VARCHAR(10) COLLATE "ANSI_CI", "_RecruitedBy" VARCHAR(3) COLLATE "ANSI_CI", "_ContactInterval" VARCHAR(3) COLLATE "ANSI" DEFAULT ''1m'', "_AttemptInterval" VARCHAR(3) COLLATE "ANSI" DEFAULT ''1d'' , "_ModDate" DATE, "_Status" VARCHAR(10) COLLATE "ANSI_CI", "_DoB" DATE, "_YoB" SMALLINT, "_LastCallBy" VARCHAR(3) COLLATE "ANSI_CI", "_Source" VARCHAR(20) COLLATE "ANSI_CI", "_fkStaff_LTC" VARCHAR(5) COLLATE "ANSI_CI", "_LTCLastAttempt" DATE, "_PNotes" VARCHAR(35) COLLATE "ANSI_CI", "_NoMailShots" BOOLEAN DEFAULT FALSE , "_LatestCVType" VARCHAR(10) COLLATE "ANSI_CI", "_LTCAlarm" TIMESTAMP, "_LastCall" DATE, "_Created" DATE DEFAULT CURRENT_DATE, "_Partner" VARCHAR(60) COLLATE "ANSI_CI", "_HiringManager" BOOLEAN DEFAULT FALSE , "_NoticePeriod" VARCHAR(10) COLLATE "ANSI_CI", "_BaseSalary" VARCHAR(15) COLLATE "ANSI_CI", "_SalaryDate" DATE, "_SalaryWanted" VARCHAR(15) COLLATE "ANSI_CI", "_WantedDate" DATE, "_NoEshots" BOOLEAN DEFAULT FALSE , "_PackageInfo" CLOB COLLATE "ANSI_CI", "_Links" CLOB COLLATE "ANSI_CI", "_Notes" CLOB COLLATE "ANSI_CI", "_Skills" CLOB COLLATE "ANSI_CI", "_OtherEddresses" CLOB COLLATE "ANSI_CI", "_DPAHistory" CLOB COLLATE "ANSI_CI", "_Attributes" CLOB COLLATE "ANSI_CI", "_UserFlags" CLOB COLLATE "ANSI_CI", "_LatestCV" BLOB, "_SellingPoints" CLOB COLLATE "ANSI_CI", "_OtherPhoneNumbers" CLOB COLLATE "ANSI_CI", "_Referrals" CLOB COLLATE "ANSI_CI", "_References" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "DialControl" ( "_PhoneNo" VARCHAR(25) COLLATE "ANSI_CI", "_Action" VARCHAR(5) COLLATE "ANSI" DESCRIPTION ''Block=do not autodial, Hide=hide originator''''s phone number, Show=reveal originator''''s phone number (1470)'', "_DateAdded" DATE DEFAULT CURRENT_DATE, "_AddedBy" VARCHAR(3) COLLATE "ANSI" DEFAULT CURRENT_USER, "_LastDial" DATE, "_LastDialBy" VARCHAR(3) COLLATE "ANSI_CI", "_fkCompanies" INTEGER, "_fkContacts" INTEGER, "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Diary" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Day" DATE, "_Start" TIME, "_End" TIME, "_InBrief" VARCHAR(50) COLLATE "ANSI_CI", "_Reason" VARCHAR(15) COLLATE "ANSI_CI", "_Priority" BOOLEAN DEFAULT FALSE , "_ImageIndex" INTEGER, "_Details" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "DiaryLinks" ( "_fkDiary" INTEGER, "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_fkContacts" INTEGER, "_fkCompanies" INTEGER, "_Name" VARCHAR(45) COLLATE "ANSI_CI", "_CompanyName" VARCHAR(60) COLLATE "ANSI_CI", "_Alarm" TIMESTAMP ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "ELN" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkCompanies" INTEGER, "_fkContacts" INTEGER, "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_Comments" VARCHAR(100) COLLATE "ANSI_CI", "_Size" INTEGER, "_ELNtype" VARCHAR(8) COLLATE "ANSI_CI", "_TimeStamp" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_DisplayFormat" VARCHAR(4) COLLATE "ANSI" DEFAULT ''ANSI'' DESCRIPTION ''ANSI, RTF, HTML'', "_Encoding" VARCHAR(5) COLLATE "ANSI_CI", "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_aList" CLOB COLLATE "ANSI_CI", "_Message" CLOB COLLATE "ANSI_CI", "_Graphics" BLOB, "_Recipients" CLOB COLLATE "ANSI_CI", "_Flags" CLOB COLLATE "ANSI_CI", "_Encoded" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emAddress" ( "_EMail" VARCHAR(60) COLLATE "ANSI_CI", "_fkPopBoxes" VARCHAR(30) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_DeathDate" DATE, "_ActiveForEMail" BOOLEAN DEFAULT FALSE , "_Passthrough" BOOLEAN DEFAULT FALSE , "_StoreIn" INTEGER, "_TransferAfterSend" INTEGER, "_Redirect" VARCHAR(60) COLLATE "ANSI_CI", "_Organisation" VARCHAR(60) COLLATE "ANSI_CI", "_ReplyEddress" VARCHAR(60) COLLATE "ANSI_CI", "_Mode" INTEGER DEFAULT 0, "_InactiveMode" INTEGER DEFAULT 2, "_AutoReply" CLOB COLLATE "ANSI_CI", "_AllowedDomains" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "EMails" ( "_fkMailBoxes" INTEGER, "_MsgNo" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_MD5" VARCHAR(16) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_Private" BOOLEAN DEFAULT FALSE , "_fkContacts" INTEGER, "_Comments" VARCHAR(100) COLLATE "ANSI_CI", "_Size" INTEGER, "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_Sender" VARCHAR(45) COLLATE "ANSI_CI", "_emSender" VARCHAR(60) COLLATE "ANSI_CI", "_Colour" INTEGER DEFAULT 0, "_Reply" CHAR(1) COLLATE "ANSI", "_DisplayFormat" VARCHAR(4) COLLATE "ANSI" DEFAULT ''????'' DESCRIPTION ''ANSI, RTF, HTML'', "_Encoding" VARCHAR(5) COLLATE "ANSI_CI", "_TimeStamp" TIMESTAMP, "_Destination" VARCHAR(45) COLLATE "ANSI_CI", "_emDestination" VARCHAR(60) COLLATE "ANSI_CI", "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_aList" CLOB COLLATE "ANSI_CI", "_Message" CLOB COLLATE "ANSI_CI", "_Graphics" BLOB, "_Recipients" CLOB COLLATE "ANSI_CI", "_Flags" CLOB COLLATE "ANSI_CI", "_Encoded" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 4096 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emArchive" ( "_fkMailBoxes" INTEGER, "_MsgNo" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_MD5" VARCHAR(16) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_Private" BOOLEAN DEFAULT FALSE , "_fkContacts" INTEGER, "_Comments" VARCHAR(100) COLLATE "ANSI_CI", "_Size" INTEGER, "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_Sender" VARCHAR(45) COLLATE "ANSI_CI", "_emSender" VARCHAR(60) COLLATE "ANSI_CI", "_Colour" INTEGER, "_Reply" CHAR(1) COLLATE "ANSI", "_DisplayFormat" VARCHAR(4) COLLATE "ANSI_CI", "_Encoding" VARCHAR(5) COLLATE "ANSI_CI", "_TimeStamp" TIMESTAMP, "_Destination" VARCHAR(45) COLLATE "ANSI_CI", "_emDestination" VARCHAR(60) COLLATE "ANSI_CI", "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_aList" CLOB COLLATE "ANSI_CI", "_Message" CLOB COLLATE "ANSI_CI", "_Graphics" BLOB, "_Recipients" CLOB COLLATE "ANSI_CI", "_Flags" CLOB COLLATE "ANSI_CI", "_Encoded" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 4096 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emBadWords" ( "_BadWord" VARCHAR(30) COLLATE "ANSI_CI", "_LastDetected" DATE, "_Occurances" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emBlacklist" ( "_Blacklisted" VARCHAR(60) COLLATE "ANSI_CI", "_LastDetected" DATE, "_Occurances" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emLog" ( "_Counter" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_TimeStamp" TIMESTAMP, "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_LogType" VARCHAR(1) COLLATE "ANSI_CI", "_Msg" VARCHAR(100) COLLATE "ANSI_CI", "_Info" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emLogArchive" ( "_Counter" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_TimeStamp" TIMESTAMP, "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_LogType" VARCHAR(1) COLLATE "ANSI_CI", "_Error" VARCHAR(100) COLLATE "ANSI_CI", "_Info" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emReadStatus" ( "_fkMailBoxes" INTEGER, "_fkEMails" INTEGER, "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "EMSearches" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Name" VARCHAR(50) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_Hits" INTEGER, "_RefreshDate" DATE, "_SQG" CLOB COLLATE "ANSI_CI", "_SQLWHERE" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "EMSearchResults" ( "_fkEMSearches" INTEGER, "_fkEMails" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "emStats" ( "_Date" DATE, "_Sent" INTEGER, "_Redirects" INTEGER, "_Examined" INTEGER, "_Passed" INTEGER, "_Problems" INTEGER, "_Skipped" INTEGER, "_Duplicate" INTEGER, "_RulesHit" INTEGER, "_Size" INTEGER, "_ISO" INTEGER, "_UnknownSender" INTEGER, "_UnknownDestination" INTEGER, "_SequalsD" INTEGER, "_Blacklisted" INTEGER, "_NoSender" INTEGER, "_AllowedDomains" INTEGER, "_NoDate" INTEGER, "_NumericEddress" INTEGER, "_BadWord" INTEGER, "_bfSuspicious" INTEGER, "_bfSpam" INTEGER, "_bfDelete" INTEGER, "_DNSBL" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "eShots" ( "_eShot" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_PlainText" BOOLEAN DEFAULT FALSE , "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_Comments" VARCHAR(100) COLLATE "ANSI_CI", "_LastUsed" DATE, "_Attachments" BLOB, "_Message" CLOB COLLATE "ANSI_CI", "_InLine" BLOB, "_Recipients" BLOB, "_Flags" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Flags" ( "_Flag" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Introductions" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Initiated" DATE DEFAULT CURRENT_DATE, "_fkCompanies" INTEGER, "_fkContacts" INTEGER, "_Forename" VARCHAR(15) COLLATE "ANSI_CI", "_Surname" VARCHAR(30) COLLATE "ANSI_CI", "_SplitWith" VARCHAR(60) COLLATE "ANSI_CI", "_CompanyName" VARCHAR(60) COLLATE "ANSI_CI", "_SplitPcnt" FLOAT, "_fkOrderBook" INTEGER, "_fkContacts_MainContact" INTEGER, "_fkJobCodes" VARCHAR(10) COLLATE "ANSI_CI", "_fkContacts_StageContact" INTEGER, "_JobTitle" VARCHAR(50) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_Status" VARCHAR(7) COLLATE "ANSI_CI", "_Date" DATE, "_Time" TIME, "_Duration" INTEGER, "_ConfirmedCandidate" BOOLEAN DEFAULT FALSE , "_ConfirmedCompany" BOOLEAN DEFAULT FALSE , "_MainContact" VARCHAR(45) COLLATE "ANSI_CI", "_StageContact" VARCHAR(45) COLLATE "ANSI_CI", "_Stage" VARCHAR(20) COLLATE "ANSI_CI", "_StageHistory" CLOB COLLATE "ANSI_CI", "_Debrief" CLOB COLLATE "ANSI_CI", "_Panel" CLOB COLLATE "ANSI_CI", "_Venue" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Invoices" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_InvNo" VARCHAR(10) COLLATE "ANSI_CI", "_InvoiceType" VARCHAR(15) COLLATE "ANSI_CI", "_Invoiced" DATE, "_Paid" BOOLEAN DEFAULT FALSE , "_fkOrderBook" INTEGER, "_fkCompanies" INTEGER, "_fkIntroductions" INTEGER, "_JobTitle" VARCHAR(50) COLLATE "ANSI_CI", "_PurchaseOrder" VARCHAR(20) COLLATE "ANSI_CI", "_CompanyName" VARCHAR(60) COLLATE "ANSI_CI", "_Invoicee" VARCHAR(45) COLLATE "ANSI_CI", "_FeeAgreedWith" VARCHAR(45) COLLATE "ANSI_CI", "_TotalPackage" INTEGER, "_VATrate" DECIMAL(20,2), "_OverallFeeRate" DECIMAL(20,2), "_StageFeeRate" DECIMAL(20,2), "_VATamount" DECIMAL(20,2), "_Fee" DECIMAL(20,2), "_InvoiceValue" DECIMAL(20,2), "_InvoiceHeader" VARCHAR(60) COLLATE "ANSI_CI", "_Terms" VARCHAR(60) COLLATE "ANSI_CI", "_VATNumber" VARCHAR(15) COLLATE "ANSI_CI", "_InvoiceAddress" CLOB COLLATE "ANSI_CI", "_InvoiceBody" CLOB COLLATE "ANSI_CI", "_Candidates" CLOB COLLATE "ANSI_CI", "_History" CLOB COLLATE "ANSI_CI", "_InvoiceLines" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "JobCodes" ( "_JobCode" VARCHAR(10) COLLATE "ANSI_CI", "_JobDesc" VARCHAR(35) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Locks" ( "_ID" VARCHAR(30) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "MailBoxes" ( "_BoxNo" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_BoxName" VARCHAR(50) COLLATE "ANSI_CI", "_IsFolder" BOOLEAN DEFAULT FALSE , "_BelongsTo" INTEGER, "_Monitored" BOOLEAN DEFAULT FALSE , "_OnFile" INTEGER, "_Archived" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Markets" ( "_ID" VARCHAR(10) COLLATE "ANSI_CI", "_MktDesc" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "OrderBook" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkCompanies" INTEGER, "_fkContacts" INTEGER, "_CompanyName" VARCHAR(60) COLLATE "ANSI_CI", "_fkSites" INTEGER, "_ContactName" VARCHAR(45) COLLATE "ANSI_CI", "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_fkJobCodes" VARCHAR(10) COLLATE "ANSI_CI", "_JobTitle" VARCHAR(50) COLLATE "ANSI_CI", "_BasicLow" INTEGER, "_BasicHigh" INTEGER, "_Car" BOOLEAN DEFAULT FALSE , "_CarValue" INTEGER, "_FeePercent" FLOAT, "_FeePounds" INTEGER, "_SplitWith" VARCHAR(60) COLLATE "ANSI_CI", "_SplitPcnt" FLOAT, "_Status" VARCHAR(15) COLLATE "ANSI_CI", "_Type" VARCHAR(11) COLLATE "ANSI_CI", "_Stage" VARCHAR(15) COLLATE "ANSI_CI", "_Process" VARCHAR(10) COLLATE "ANSI_CI", "_Conversion" FLOAT, "_Currency" VARCHAR(3) COLLATE "ANSI" DEFAULT ''GBP'', "_FeeCurrency" INTEGER, "_DateTaken" DATE, "_FixedFee" BOOLEAN DEFAULT FALSE , "_Basis" INTEGER, "_FeeAgreedWith" VARCHAR(40) COLLATE "ANSI_CI", "_PurchaseOrder" VARCHAR(20) COLLATE "ANSI_CI", "_DetailedInvoice" BOOLEAN DEFAULT FALSE , "_InvoiceAddress" CLOB COLLATE "ANSI_CI", "_RecruitingSpec" CLOB COLLATE "ANSI_CI", "_SalaryElements" CLOB COLLATE "ANSI_CI", "_Scheduler" CLOB COLLATE "ANSI_CI", "_Panel" CLOB COLLATE "ANSI_CI", "_CandidateBrief" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "OrgType" ( "_ID" VARCHAR(10) COLLATE "ANSI_CI", "_Description" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "PopBoxes" ( "_PopBox" VARCHAR(30) COLLATE "ANSI_CI", "_POPServer" VARCHAR(60) COLLATE "ANSI_CI", "_POPAccount" VARCHAR(60) COLLATE "ANSI_CI", "_POPPassword" VARCHAR(60) COLLATE "ANSI_CI", "_POPPort" INTEGER DEFAULT 110, "_POPSecure" BOOLEAN DEFAULT FALSE , "_SMTPServer" VARCHAR(60) COLLATE "ANSI_CI", "_SMTPAccount" VARCHAR(60) COLLATE "ANSI_CI", "_SMTPPassword" VARCHAR(60) COLLATE "ANSI_CI", "_SMTPPort" INTEGER DEFAULT 25, "_SMTPSecure" BOOLEAN DEFAULT FALSE , "_Shared" BOOLEAN ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Products" ( "_Product" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Profiles" ( "_Profile" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Projects" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Created" DATE, "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_Name" VARCHAR(50) COLLATE "ANSI_CI", "_Status" VARCHAR(1) COLLATE "ANSI" DEFAULT ''L'' DESCRIPTION ''Status indicator L=Live, H=hold,D=dead'', "_fkContacts_PTS1" INTEGER, "_fkContacts_PTS2" INTEGER, "_fkContacts_PTS3" INTEGER, "_fkScripts" INTEGER, "_Type" VARCHAR(11) COLLATE "ANSI_CI", "_fkOrderBook" INTEGER ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "ProjectStats" ( "_fkProjects" INTEGER, "_Date" DATE DEFAULT CURRENT_DATE, "_Dialings" INTEGER DEFAULT 0, "_Connected" INTEGER DEFAULT 0, "_Positive" INTEGER DEFAULT 0, "_Negative" INTEGER DEFAULT 0, "_Score" INTEGER DEFAULT 0 ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "SandT" ( "_Band" VARCHAR(1) COLLATE "ANSI_CI", "_Staff" VARCHAR(30) COLLATE "ANSI_CI", "_Turnover" VARCHAR(30) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Scripts" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Name" VARCHAR(50) COLLATE "ANSI_CI", "_Script" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "SICCode" ( "_ID" VARCHAR(4) COLLATE "ANSI_CI", "_Description" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "SICGroup" ( "_ID" VARCHAR(2) COLLATE "ANSI_CI", "_Description" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Sites" ( "_fkCompanies" INTEGER, "_SiteID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1), "_Switchboard" VARCHAR(25) COLLATE "ANSI_CI", "_Fax" VARCHAR(25) COLLATE "ANSI_CI", "_Address1" VARCHAR(35) COLLATE "ANSI_CI", "_Address2" VARCHAR(35) COLLATE "ANSI_CI", "_Town" VARCHAR(35) COLLATE "ANSI_CI", "_County" VARCHAR(35) COLLATE "ANSI_CI", "_Country" VARCHAR(35) COLLATE "ANSI_CI", "_PostCode" VARCHAR(10) COLLATE "ANSI_CI", "_Notes" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Skillsets" ( "_Skillset" VARCHAR(50) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "SpamStore" ( "_SpamID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Size" INTEGER, "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_emSender" VARCHAR(60) COLLATE "ANSI_CI", "_TimeStamp" TIMESTAMP, "_DisplayFormat" VARCHAR(4) COLLATE "ANSI_CI", "_Encoding" VARCHAR(5) COLLATE "ANSI_CI", "_emDestination" VARCHAR(60) COLLATE "ANSI_CI", "_aList" CLOB COLLATE "ANSI_CI", "_Message" CLOB COLLATE "ANSI_CI", "_Graphics" BLOB, "_Encoded" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Staff" ( "_ID" VARCHAR(5) COLLATE "ANSI_CI", "_Name" VARCHAR(60) COLLATE "ANSI_CI", "_Title" VARCHAR(40) COLLATE "ANSI_CI", "_DirectDial" VARCHAR(25) COLLATE "ANSI_CI", "_fkemAddress" VARCHAR(60) COLLATE "ANSI_CI", "_Sig" INTEGER, "_fkProjects" INTEGER, "_CheckDate" DATE, "_SUOP" VARCHAR(11) COLLATE "ANSI_CI", "_Privileged" BOOLEAN DEFAULT FALSE , "_Permitted" BOOLEAN DEFAULT FALSE , "_Group" VARCHAR(15) COLLATE "ANSI_CI", "_TMSStyle" VARCHAR(20) COLLATE "ANSI_CI", "_ColourScheme" VARCHAR(30) COLLATE "ANSI_CI", "_MRU" BLOB, "_Notes" CLOB COLLATE "ANSI_CI", "_FilterStore" BLOB, "_AutoLoads" CLOB COLLATE "ANSI_CI", "_Tasks" CLOB COLLATE "ANSI", "_UserOptions" CLOB COLLATE "ANSI_CI", "_WorkBlocks" CLOB COLLATE "ANSI_CI", "_StatsDisplay" CLOB COLLATE "ANSI_CI", "_SpeedDials" CLOB COLLATE "ANSI_CI", "_FavouriteCompanies" CLOB COLLATE "ANSI_CI", "_FavouriteContacts" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "STDCodes" ( "_Code" VARCHAR(10) COLLATE "ANSI_CI", "_Town" VARCHAR(50) COLLATE "ANSI_CI", "_County" VARCHAR(35) COLLATE "ANSI_CI", "_Country" VARCHAR(35) COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "Templates" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Name" VARCHAR(50) COLLATE "ANSI_CI", "_Group" VARCHAR(30) COLLATE "ANSI_CI", "_Hidden" BOOLEAN DEFAULT FALSE , "_Usage" VARCHAR(2) COLLATE "ANSI" DEFAULT ''EL'', "_PlainText" BOOLEAN DEFAULT FALSE , "_Template" CLOB COLLATE "ANSI_CI", "_Attachments" BLOB, "_InLine" BLOB ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "TfRLog" ( "_ID" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_Batch" GUID, "_Table" VARCHAR(30) COLLATE "ANSI_CI", "_Key1" INTEGER, "_Key2" INTEGER, "_NameInfo" VARCHAR(60) COLLATE "ANSI_CI", "_Type" VARCHAR(6) COLLATE "ANSI_CI", "_Level" VARCHAR(5) COLLATE "ANSI_CI", "_Timestamp" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_UserName" VARCHAR(30) COLLATE "ANSI_CI", "_Field" VARCHAR(40) COLLATE "ANSI_CI", "_Before" CLOB COLLATE "ANSI_CI", "_After" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "UserStats" ( "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI", "_Date" DATE DEFAULT CURRENT_DATE, "_Dialings" INTEGER DEFAULT 0, "_Connected" INTEGER DEFAULT 0, "_Positive" INTEGER DEFAULT 0, "_Negative" INTEGER DEFAULT 0, "_Score" INTEGER DEFAULT 0 ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "LetterQueue" ( "_ID" INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 0, INCREMENT BY 1) NOT NULL, "_fkContacts" INTEGER NOT NULL, "_fkCompanies" INTEGER, "_fkStaff" VARCHAR(5) COLLATE "ANSI" NOT NULL, "_Letter" BLOB NOT NULL, "_InLine" BLOB, "_Attachments" BLOB ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "elnArchive" ( "_ID" INTEGER, "_fkCompanies" INTEGER, "_fkContacts" INTEGER, "_Subject" VARCHAR(100) COLLATE "ANSI_CI", "_Comments" VARCHAR(100) COLLATE "ANSI_CI", "_Size" INTEGER, "_ELNtype" VARCHAR(8) COLLATE "ANSI_CI", "_TimeStamp" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_DisplayFormat" VARCHAR(4) COLLATE "ANSI" DEFAULT ''ANSI'' DESCRIPTION ''ANSI, RTF, HTML'', "_Encoding" VARCHAR(5) COLLATE "ANSI_CI", "_InOutInd" VARCHAR(2) COLLATE "ANSI_CI", "_aList" CLOB COLLATE "ANSI_CI", "_Message" CLOB COLLATE "ANSI_CI", "_Graphics" BLOB, "_Recipients" CLOB COLLATE "ANSI_CI", "_Flags" CLOB COLLATE "ANSI_CI", "_Encoded" CLOB COLLATE "ANSI_CI" ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "TfRLogArchive" ( "_ID" INTEGER, "_Batch" GUID, "_Table" VARCHAR(30) COLLATE "ANSI_CI", "_Key1" INTEGER, "_Key2" INTEGER, "_NameInfo" VARCHAR(60) COLLATE "ANSI_CI", "_Type" VARCHAR(6) COLLATE "ANSI_CI", "_Level" VARCHAR(5) COLLATE "ANSI_CI", "_Timestamp" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, "_fkStaff" VARCHAR(5) COLLATE "ANSI" DEFAULT CURRENT_USER, "_UserName" VARCHAR(30) COLLATE "ANSI_CI", "_Field" VARCHAR(40) COLLATE "ANSI_CI", "_Before" CLOB COLLATE "ANSI_CI", "_After" CLOB COLLATE "ANSI_CI" ) VERSION 1 ENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "DialUp" ( "LockNo" VARCHAR(40) COLLATE "ANSI", "Info" VARCHAR(100) COLLATE "ANSI_CI", "When" TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; EXECUTE IMMEDIATE 'CREATE TABLE "DayBook" ( "_fkStaff" VARCHAR(5) COLLATE "ANSI_CI" NOT NULL, "_Slot" INTEGER NOT NULL, "_fkCalls" INTEGER NOT NULL ) VERSION 1 UNENCRYPTED INDEX PAGE SIZE 4096 BLOB BLOCK SIZE 512 PUBLISH BLOCK SIZE 512 PUBLISH COMPRESSION 0 MAX ROW BUFFER SIZE 32768 MAX INDEX BUFFER SIZE 65536 MAX BLOB BUFFER SIZE 32768 MAX PUBLISH BUFFER SIZE 32768'; /************************************************************ * Table Rows ************************************************************/ /************************************************************ * Views ************************************************************/ /************************************************************ * Functions ************************************************************/ EXECUTE IMMEDIATE 'CREATE FUNCTION "AttachSearch" (IN "LstStr" VARCHAR COLLATE ANSI, IN "FldStr" VARCHAR COLLATE ANSI, IN "TstStr" VARCHAR COLLATE ANSI, IN "CompStr" VARCHAR COLLATE ANSI, IN "CI" VARCHAR COLLATE ANSI) RETURNS BOOLEAN EXTERNAL NAME "nlhFunctions"'; EXECUTE IMMEDIATE 'CREATE FUNCTION "textsearch" (IN "FldStr" VARCHAR COLLATE ANSI, IN "CompStr" VARCHAR COLLATE ANSI, IN "CI" VARCHAR COLLATE ANSI) RETURNS BOOLEAN EXTERNAL NAME "nlhFunctions"'; EXECUTE IMMEDIATE 'CREATE FUNCTION "CVSearch" (IN "docType" VARCHAR COLLATE ANSI, IN "FldStr" CLOB, IN "TstStr" VARCHAR COLLATE ANSI, IN "CompStr" VARCHAR COLLATE ANSI, IN "CI" VARCHAR COLLATE ANSI) RETURNS BOOLEAN EXTERNAL NAME "nlhFunctions"'; EXECUTE IMMEDIATE 'CREATE FUNCTION "FormatPhoneNo" (IN "PhoneNo" VARCHAR COLLATE ANSI) RETURNS VARCHAR COLLATE ANSI EXTERNAL NAME "nlhFunctions"'; EXECUTE IMMEDIATE 'CREATE FUNCTION "RCF" (IN "In1" VARCHAR COLLATE ANSI, IN "In2" VARCHAR COLLATE ANSI, IN "Separator " VARCHAR COLLATE ANSI) RETURNS VARCHAR COLLATE ANSI BEGIN DECLARE Output VARCHAR; SET Output = COALESCE(In2,''''); IF (In1 IS NOT NULL) AND (In1 <> '''') THEN IF (In2 IS NOT NULL) AND (In2 <> '''') THEN SET Output = Output + Separator + In1; ELSE SET Output = In1; END IF; END IF; RETURN Output; END DESCRIPTION ''Reverse combine fields'''; EXECUTE IMMEDIATE 'CREATE FUNCTION "SimplfiedCompanyName" (IN "NameIn" VARCHAR COLLATE ANSI) RETURNS VARCHAR COLLATE ANSI EXTERNAL NAME "nlhFunctions" '; EXECUTE IMMEDIATE 'CREATE FUNCTION "StrippedCompanyName" (IN "NameIn" VARCHAR COLLATE ANSI) RETURNS VARCHAR COLLATE ANSI EXTERNAL NAME "nlhFunctions" '; /************************************************************ * Procedures ************************************************************/ /************************************************************ * Table triggers, indexes, and constraints ************************************************************/ -- Creating indexes for CallMenu table EXECUTE IMMEDIATE 'CREATE INDEX "BelongsTo" ON "CallMenu" ("_BelongsTo")'; -- Creating indexes for Calls table EXECUTE IMMEDIATE 'CREATE INDEX "ContactLinks" ON "Calls" ("_fkContacts", "_DateAdded" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "CompanyLinks" ON "Calls" ("_fkCompanies", "_DateAdded" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "Sendout" ON "Calls" ("_fkIntroductions")'; EXECUTE IMMEDIATE 'CREATE INDEX "Introductions" ON "Calls" ("_fkIntroductions")'; EXECUTE IMMEDIATE 'CREATE INDEX "Staff" ON "Calls" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "ProjectLinks" ON "Calls" ("_fkProjects", "_DateAdded" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "HideAlarm" ON "Calls" ("_HideAlarm")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Notes" ON "Calls" ("_Notes" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_AdditionalNotes" ON "Calls" ("_AdditionalNotes" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for CallStats table EXECUTE IMMEDIATE 'CREATE INDEX "Project" ON "CallStats" ("_fkProjects")'; EXECUTE IMMEDIATE 'CREATE INDEX "Contact" ON "CallStats" ("_fkContacts")'; EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "CallStats" ("_fkCompanies")'; EXECUTE IMMEDIATE 'CREATE INDEX "Call" ON "CallStats" ("_fkCalls")'; EXECUTE IMMEDIATE 'CREATE INDEX "Staff" ON "CallStats" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Result" ON "CallStats" ("_Result" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Analysis" ON "CallStats" ("_Analysis" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MostRecentFirst" ON "CallStats" ("_Date" DESC, "_Time" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "CallMenu" ON "CallStats" ("_fkCallMenu")'; -- Creating triggers for Career table EXECUTE IMMEDIATE 'CREATE TRIGGER "CareerAfterUpdate" AFTER UPDATE ON "Career" BEGIN DECLARE FullName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Contacts SENSITIVE CURSOR FOR ContactDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE ContactDB FROM ''SELECT (_Forename + '''' '''' + _Surname) AS FullName FROM Contacts WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Contacts USING NEWROW._fkContacts; FETCH FROM Contacts(FullName) INTO FullName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._ID <> OLDROW._ID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_ID'',OLDROW._ID,NEWROW._ID); END IF; IF NEWROW._fkContacts <> OLDROW._fkContacts THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkContacts'',OLDROW._fkContacts,NEWROW._fkContacts); END IF; IF NEWROW._fkCompanies <> OLDROW._fkCompanies THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkCompanies'',OLDROW._fkCompanies,NEWROW._fkCompanies); END IF; IF NEWROW._fkSites <> OLDROW._fkSites THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkSites'',OLDROW._fkSites,NEWROW._fkSites); END IF; IF NEWROW._Started <> OLDROW._Started THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Started'',OLDROW._Started,NEWROW._Started); END IF; IF NEWROW._Left <> OLDROW._Left THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Left'',OLDROW._Left,NEWROW._Left); END IF; IF NEWROW._fkContacts_Manager <> OLDROW._fkContacts_Manager THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkContacts_Manager'',OLDROW._fkContacts_Manager,NEWROW._fkContacts_Manager); END IF; IF NEWROW._UnlistedCompany <> OLDROW._UnlistedCompany THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_UnlistedCompany'',OLDROW._UnlistedCompany,NEWROW._UnlistedCompany); END IF; IF NEWROW._Secretary <> OLDROW._Secretary THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Secretary'',OLDROW._Secretary,NEWROW._Secretary); END IF; IF NEWROW._SecEMail <> OLDROW._SecEMail THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_SecEMail'',OLDROW._SecEMail,NEWROW._SecEMail); END IF; IF NEWROW._SecPhone <> OLDROW._SecPhone THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_SecPhone'',OLDROW._SecPhone,NEWROW._SecPhone); END IF; IF NEWROW._MainPhone <> OLDROW._MainPhone THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_MainPhone'',OLDROW._MainPhone,NEWROW._MainPhone); END IF; IF NEWROW._Email <> OLDROW._Email THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Email'',OLDROW._Email,NEWROW._Email); END IF; IF NEWROW._OkForEmail <> OLDROW._OkForEmail THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_OkForEmail'',OLDROW._OkForEmail,NEWROW._OkForEmail); END IF; IF NEWROW._fkJobCodes <> OLDROW._fkJobCodes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkJobCodes'',OLDROW._fkJobCodes,NEWROW._fkJobCodes); END IF; IF NEWROW._JobTitle <> OLDROW._JobTitle THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_JobTitle'',OLDROW._JobTitle,NEWROW._JobTitle); END IF; IF NEWROW._Created <> OLDROW._Created THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Created'',OLDROW._Created,NEWROW._Created); END IF; IF NEWROW._Autocclist <> OLDROW._Autocclist THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Autocclist'',OLDROW._Autocclist,NEWROW._Autocclist); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Career'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "CareerAfterInsert" AFTER INSERT ON "Career" BEGIN DECLARE FullName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Contacts SENSITIVE CURSOR FOR ContactDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE ContactDB FROM ''SELECT (_Forename + '''' '''' + _Surname) AS FullName FROM Contacts WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Contacts USING NEWROW._fkContacts; FETCH FROM Contacts(FullName) INTO FullName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_ID'',NEWROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkContacts'',NEWROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkCompanies'',NEWROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkSites'',NEWROW._fkSites); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Started'',NEWROW._Started); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Left'',NEWROW._Left); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkContacts_Manager'',NEWROW._fkContacts_Manager); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_UnlistedCompany'',NEWROW._UnlistedCompany); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Secretary'',NEWROW._Secretary); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_SecEMail'',NEWROW._SecEMail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_SecPhone'',NEWROW._SecPhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_MainPhone'',NEWROW._MainPhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Email'',NEWROW._Email); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_OkForEmail'',NEWROW._OkForEmail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_fkJobCodes'',NEWROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_JobTitle'',NEWROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Created'',NEWROW._Created); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName,''_Autocclist'',NEWROW._Autocclist); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Career'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,FullName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "CareerAfterDelete" AFTER DELETE ON "Career" BEGIN DECLARE FullName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Contacts SENSITIVE CURSOR FOR ContactDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE ContactDB FROM ''SELECT (_Forename + '''' '''' + _Surname) AS FullName FROM Contacts WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Contacts USING OLDROW._fkContacts; FETCH FROM Contacts(FullName) INTO FullName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_ID'',OLDROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_fkContacts'',OLDROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_fkCompanies'',OLDROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_fkSites'',OLDROW._fkSites); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Started'',OLDROW._Started); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Left'',OLDROW._Left); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_fkContacts_Manager'',OLDROW._fkContacts_Manager); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_UnlistedCompany'',OLDROW._UnlistedCompany); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Secretary'',OLDROW._Secretary); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_SecEMail'',OLDROW._SecEMail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_SecPhone'',OLDROW._SecPhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_MainPhone'',OLDROW._MainPhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Email'',OLDROW._Email); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_OkForEmail'',OLDROW._OkForEmail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_fkJobCodes'',OLDROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_JobTitle'',OLDROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Created'',OLDROW._Created); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName,''_Autocclist'',OLDROW._Autocclist); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Career'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,FullName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatPhoneNumbers" BEFORE UPDATE OF "_MainPhone", "_SecPhone" ON "Career" BEGIN IF NOT NEWROW._MainPhone IS NULL THEN IF REPLACE('' '','''',NEWROW._MainPhone) = '''' THEN SET NEWROW._MainPhone = NULL; ELSE SET NEWROW._MainPhone = FormatPhoneNo(NEWROW._MainPhone); END IF; END IF; IF NOT NEWROW._SecPhone IS NULL THEN IF REPLACE('' '','''',NEWROW._SecPhone) = '''' THEN SET NEWROW._SecPhone = NULL; ELSE SET NEWROW._SecPhone = FormatPhoneNo(NEWROW._SecPhone); END IF; END IF; END'; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatNewPhoneNumbers" BEFORE INSERT ON "Career" BEGIN IF NOT NEWROW._MainPhone IS NULL THEN IF REPLACE('' '','''',NEWROW._MainPhone) = '''' THEN SET NEWROW._MainPhone = NULL; ELSE SET NEWROW._MainPhone = FormatPhoneNo(NEWROW._MainPhone); END IF; END IF; IF NOT NEWROW._SecPhone IS NULL THEN IF REPLACE('' '','''',NEWROW._SecPhone) = '''' THEN SET NEWROW._SecPhone = NULL; ELSE SET NEWROW._SecPhone = FormatPhoneNo(NEWROW._SecPhone); END IF; END IF; END'; -- Creating indexes for Career table EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "Career" ("_fkCompanies")'; EXECUTE IMMEDIATE 'CREATE INDEX "Career" ON "Career" ("_fkContacts", "_Left" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "WorksEmail" ON "Career" ("_Email" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "JobCode" ON "Career" ("_fkJobCodes" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "DateLeft" ON "Career" ("_Left")'; -- Creating triggers for Companies table EXECUTE IMMEDIATE 'CREATE TRIGGER "CompaniesAfterUpdate" AFTER UPDATE ON "Companies" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._Name <> OLDROW._Name THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Name'',OLDROW._Name,NEWROW._Name); END IF; IF NEWROW._fkCompanies_Parent <> OLDROW._fkCompanies_Parent THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkCompanies_Parent'',OLDROW._fkCompanies_Parent,NEWROW._fkCompanies_Parent); END IF; IF NEWROW._Website <> OLDROW._Website THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Website'',OLDROW._Website,NEWROW._Website); END IF; IF NEWROW._fkOrgType <> OLDROW._fkOrgType THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkOrgType'',OLDROW._fkOrgType,NEWROW._fkOrgType); END IF; IF NEWROW._fkSICGroup <> OLDROW._fkSICGroup THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSICGroup'',OLDROW._fkSICGroup,NEWROW._fkSICGroup); END IF; IF NEWROW._fkSICCode <> OLDROW._fkSICCode THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSICCode'',OLDROW._fkSICCode,NEWROW._fkSICCode); END IF; IF NEWROW._eMailDomain <> OLDROW._eMailDomain THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_eMailDomain'',OLDROW._eMailDomain,NEWROW._eMailDomain); END IF; IF NEWROW._fkMarkets <> OLDROW._fkMarkets THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkMarkets'',OLDROW._fkMarkets,NEWROW._fkMarkets); END IF; IF NEWROW._fkSandT_Turnover <> OLDROW._fkSandT_Turnover THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSandT_Turnover'',OLDROW._fkSandT_Turnover,NEWROW._fkSandT_Turnover); END IF; IF NEWROW._fkSandT_Staffing <> OLDROW._fkSandT_Staffing THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSandT_Staffing'',OLDROW._fkSandT_Staffing,NEWROW._fkSandT_Staffing); END IF; IF NEWROW._YearEnd <> OLDROW._YearEnd THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_YearEnd'',OLDROW._YearEnd,NEWROW._YearEnd); END IF; IF NEWROW._Status <> OLDROW._Status THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Status'',OLDROW._Status,NEWROW._Status); END IF; IF NEWROW._Source <> OLDROW._Source THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Source'',OLDROW._Source,NEWROW._Source); END IF; IF NEWROW._Notes <> OLDROW._Notes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Notes'',OLDROW._Notes,NEWROW._Notes); END IF; IF NEWROW._Links <> OLDROW._Links THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Links'',OLDROW._Links,NEWROW._Links); END IF; IF NEWROW._Profile <> OLDROW._Profile THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Profile '',OLDROW._Profile ,NEWROW._Profile ); END IF; IF NEWROW._Products <> OLDROW._Products THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Products'',OLDROW._Products,NEWROW._Products); END IF; IF NEWROW._UserFlags <> OLDROW._UserFlags THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_UserFlags'',OLDROW._UserFlags,NEWROW._UserFlags); END IF; IF NEWROW._URLList <> OLDROW._URLList THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_URLList'',OLDROW._URLList,NEWROW._URLList); END IF; IF NEWROW._MarketPlace <> OLDROW._MarketPlace THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_MarketPlace'',OLDROW._MarketPlace,NEWROW._MarketPlace); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Companies'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "CompaniesAfterInsert" AFTER INSERT ON "Companies" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Name'',NEWROW._Name); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkCompanies_Parent'',NEWROW._fkCompanies_Parent); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Website'',NEWROW._Website); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkOrgType'',NEWROW._fkOrgType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSICGroup'',NEWROW._fkSICGroup); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSICCode'',NEWROW._fkSICCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_eMailDomain'',NEWROW._eMailDomain); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkMarkets'',NEWROW._fkMarkets); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSandT_Turnover'',NEWROW._fkSandT_Turnover); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_fkSandT_Staffing'',NEWROW._fkSandT_Staffing); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_YearEnd'',NEWROW._YearEnd); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Status'',NEWROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Source'',NEWROW._Source); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Notes'',NEWROW._Notes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Links'',NEWROW._Links); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Profile '',NEWROW._Profile ); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_Products'',NEWROW._Products); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_UserFlags'',NEWROW._UserFlags); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_URLList'',NEWROW._URLList); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name,''_MarketPlace'',NEWROW._MarketPlace); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Companies'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Name); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "CompaniesAfterDelete" AFTER DELETE ON "Companies" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Name'',OLDROW._Name); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkCompanies_Parent'',OLDROW._fkCompanies_Parent); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Website'',OLDROW._Website); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkOrgType'',OLDROW._fkOrgType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkSICGroup'',OLDROW._fkSICGroup); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkSICCode'',OLDROW._fkSICCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_eMailDomain'',OLDROW._eMailDomain); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkMarkets'',OLDROW._fkMarkets); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkSandT_Turnover'',OLDROW._fkSandT_Turnover); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_fkSandT_Staffing'',OLDROW._fkSandT_Staffing); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_YearEnd'',OLDROW._YearEnd); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Status'',OLDROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Source'',OLDROW._Source); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Notes'',OLDROW._Notes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Links'',OLDROW._Links); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Profile '',OLDROW._Profile); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_Products'',OLDROW._Products); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_UserFlags'',OLDROW._UserFlags); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_URLList'',OLDROW._URLList); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name,''_MarketPlace'',OLDROW._MarketPlace); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Companies'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Name); END IF; END IF; END '; -- Creating indexes for Companies table EXECUTE IMMEDIATE 'CREATE INDEX "OrgType" ON "Companies" ("_fkOrgType" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MainMarket" ON "Companies" ("_fkMarkets" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "CompanyName" ON "Companies" ("_Name" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MainSIC" ON "Companies" ("_fkSICCode" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "SICGroup" ON "Companies" ("_fkSICGroup" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Status" ON "Companies" ("_Status" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Profile" ON "Companies" ("_Profile" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Products" ON "Companies" ("_Products" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_UserFlags" ON "Companies" ("_UserFlags" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Notes" ON "Companies" ("_Notes" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for Config table EXECUTE IMMEDIATE 'CREATE INDEX "Group" ON "Config" ("_Group" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "SubGroup" ON "Config" ("_SubGroup" COLLATE "ANSI_CI")'; -- Creating indexes for Connections table EXECUTE IMMEDIATE 'CREATE INDEX "Active" ON "Connections" ("_Active")'; -- Creating triggers for Contacts table EXECUTE IMMEDIATE 'CREATE TRIGGER "ContactsAfterUpdate" AFTER UPDATE ON "Contacts" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._ID <> OLDROW._ID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ID'',OLDROW._ID,NEWROW._ID); END IF; IF NEWROW._Title <> OLDROW._Title THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Title'',OLDROW._Title,NEWROW._Title); END IF; IF NEWROW._Forename <> OLDROW._Forename THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Forename'',OLDROW._Forename,NEWROW._Forename); END IF; IF NEWROW._Surname <> OLDROW._Surname THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Surname'',OLDROW._Surname,NEWROW._Surname); END IF; IF NEWROW._Address1 <> OLDROW._Address1 THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Address1'',OLDROW._Address1,NEWROW._Address1); END IF; IF NEWROW._Address2 <> OLDROW._Address2 THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Address2'',OLDROW._Address2,NEWROW._Address2); END IF; IF NEWROW._Town <> OLDROW._Town THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Town'',OLDROW._Town,NEWROW._Town); END IF; IF NEWROW._County <> OLDROW._County THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_County'',OLDROW._County,NEWROW._County); END IF; IF NEWROW._Country <> OLDROW._Country THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Country'',OLDROW._Country,NEWROW._Country); END IF; IF NEWROW._PostCode <> OLDROW._PostCode THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PostCode'',OLDROW._PostCode,NEWROW._PostCode); END IF; IF NEWROW._HomePhone <> OLDROW._HomePhone THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HomePhone'',OLDROW._HomePhone,NEWROW._HomePhone); END IF; IF NEWROW._LastDPADate <> OLDROW._LastDPADate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPADate'',OLDROW._LastDPADate,NEWROW._LastDPADate); END IF; IF NEWROW._LastDPACheckBy <> OLDROW._LastDPACheckBy THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPACheckBy'',OLDROW._LastDPACheckBy,NEWROW._LastDPACheckBy); END IF; IF NEWROW._LastDPAAccessRequest <> OLDROW._LastDPAAccessRequest THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPAAccessRequest'',OLDROW._LastDPAAccessRequest,NEWROW._LastDPAAccessRequest); END IF; IF NEWROW._LastDPASupplied <> OLDROW._LastDPASupplied THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPASupplied'',OLDROW._LastDPASupplied,NEWROW._LastDPASupplied); END IF; IF NEWROW._Mobile <> OLDROW._Mobile THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Mobile'',OLDROW._Mobile,NEWROW._Mobile); END IF; IF NEWROW._HomeEmail <> OLDROW._HomeEmail THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HomeEmail'',OLDROW._HomeEmail,NEWROW._HomeEmail); END IF; IF NEWROW._LastRecruited <> OLDROW._LastRecruited THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastRecruited'',OLDROW._LastRecruited,NEWROW._LastRecruited); END IF; IF NEWROW._LatestCVDate <> OLDROW._LatestCVDate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCVDate'',OLDROW._LatestCVDate,NEWROW._LatestCVDate); END IF; IF NEWROW._Placed <> OLDROW._Placed THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Placed'',OLDROW._Placed,NEWROW._Placed); END IF; IF NEWROW._fkJobCodes <> OLDROW._fkJobCodes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkJobCodes'',OLDROW._fkJobCodes,NEWROW._fkJobCodes); END IF; IF NEWROW._fkMarkets <> OLDROW._fkMarkets THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkMarkets'',OLDROW._fkMarkets,NEWROW._fkMarkets); END IF; IF NEWROW._RecruitedBy <> OLDROW._RecruitedBy THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_RecruitedBy'',OLDROW._RecruitedBy,NEWROW._RecruitedBy); END IF; IF NEWROW._ContactInterval <> OLDROW._ContactInterval THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ContactInterval'',OLDROW._ContactInterval,NEWROW._ContactInterval); END IF; IF NEWROW._AttemptInterval <> OLDROW._AttemptInterval THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_AttemptInterval'',OLDROW._AttemptInterval,NEWROW._AttemptInterval); END IF; IF NEWROW._ModDate <> OLDROW._ModDate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ModDate'',OLDROW._ModDate,NEWROW._ModDate); END IF; IF NEWROW._Status <> OLDROW._Status THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Status'',OLDROW._Status,NEWROW._Status); END IF; IF NEWROW._DoB <> OLDROW._DoB THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_DoB'',OLDROW._DoB,NEWROW._DoB); END IF; IF NEWROW._YoB <> OLDROW._YoB THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_YoB'',OLDROW._YoB,NEWROW._YoB); END IF; IF NEWROW._LastCallBy <> OLDROW._LastCallBy THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastCallBy'',OLDROW._LastCallBy,NEWROW._LastCallBy); END IF; IF NEWROW._Source <> OLDROW._Source THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Source'',OLDROW._Source,NEWROW._Source); END IF; IF NEWROW._fkStaff_LTC <> OLDROW._fkStaff_LTC THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkStaff_LTC'',OLDROW._fkStaff_LTC,NEWROW._fkStaff_LTC); END IF; IF NEWROW._LTCLastAttempt <> OLDROW._LTCLastAttempt THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LTCLastAttempt'',OLDROW._LTCLastAttempt,NEWROW._LTCLastAttempt); END IF; IF NEWROW._PNotes <> OLDROW._PNotes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PNotes'',OLDROW._PNotes,NEWROW._PNotes); END IF; IF NEWROW._NoMailShots <> OLDROW._NoMailShots THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoMailShots'',OLDROW._NoMailShots,NEWROW._NoMailShots); END IF; IF NEWROW._LatestCVType <> OLDROW._LatestCVType THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCVType'',OLDROW._LatestCVType,NEWROW._LatestCVType); END IF; IF NEWROW._LTCAlarm <> OLDROW._LTCAlarm THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LTCAlarm'',OLDROW._LTCAlarm,NEWROW._LTCAlarm); END IF; IF NEWROW._LastCall <> OLDROW._LastCall THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastCall'',OLDROW._LastCall,NEWROW._LastCall); END IF; IF NEWROW._Created <> OLDROW._Created THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Created'',OLDROW._Created,NEWROW._Created); END IF; IF NEWROW._Partner <> OLDROW._Partner THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Partner'',OLDROW._Partner,NEWROW._Partner); END IF; IF NEWROW._HiringManager <> OLDROW._HiringManager THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HiringManager'',OLDROW._HiringManager,NEWROW._HiringManager); END IF; IF NEWROW._NoticePeriod <> OLDROW._NoticePeriod THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoticePeriod'',OLDROW._NoticePeriod,NEWROW._NoticePeriod); END IF; IF NEWROW._BaseSalary <> OLDROW._BaseSalary THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_BaseSalary'',OLDROW._BaseSalary,NEWROW._BaseSalary); END IF; IF NEWROW._SalaryDate <> OLDROW._SalaryDate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SalaryDate'',OLDROW._SalaryDate,NEWROW._SalaryDate); END IF; IF NEWROW._SalaryWanted <> OLDROW._SalaryWanted THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SalaryWanted'',OLDROW._SalaryWanted,NEWROW._SalaryWanted); END IF; IF NEWROW._WantedDate <> OLDROW._WantedDate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_WantedDate'',OLDROW._WantedDate,NEWROW._WantedDate); END IF; IF NEWROW._NoEshots <> OLDROW._NoEshots THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoEshots'',OLDROW._NoEshots,NEWROW._NoEshots); END IF; IF NEWROW._PackageInfo <> OLDROW._PackageInfo THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PackageInfo'',OLDROW._PackageInfo,NEWROW._PackageInfo); END IF; IF NEWROW._Links <> OLDROW._Links THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Links'',OLDROW._Links,NEWROW._Links); END IF; IF NEWROW._Notes <> OLDROW._Notes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Notes'',OLDROW._Notes,NEWROW._Notes); END IF; IF NEWROW._Skills <> OLDROW._Skills THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Skills'',OLDROW._Skills,NEWROW._Skills); END IF; IF NEWROW._OtherEddresses <> OLDROW._OtherEddresses THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_OtherEddresses'',OLDROW._OtherEddresses,NEWROW._OtherEddresses); END IF; IF NEWROW._DPAHistory <> OLDROW._DPAHistory THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_DPAHistory'',OLDROW._DPAHistory,NEWROW._DPAHistory); END IF; IF NEWROW._Attributes <> OLDROW._Attributes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Attributes'',OLDROW._Attributes,NEWROW._Attributes); END IF; IF NEWROW._UserFlags <> OLDROW._UserFlags THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_UserFlags'',OLDROW._UserFlags,NEWROW._UserFlags); END IF; IF NEWROW._LatestCV <> OLDROW._LatestCV THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCV'',OLDROW._LatestCV,NEWROW._LatestCV); END IF; IF NEWROW._SellingPoints <> OLDROW._SellingPoints THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SellingPoints'',OLDROW._SellingPoints,NEWROW._SellingPoints); END IF; IF NEWROW._OtherPhoneNumbers <> OLDROW._OtherPhoneNumbers THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_OtherPhoneNumbers'',OLDROW._OtherPhoneNumbers,NEWROW._OtherPhoneNumbers); END IF; IF NEWROW._Referrals <> OLDROW._Referrals THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Referrals'',OLDROW._Referrals,NEWROW._Referrals); END IF; IF NEWROW._References <> OLDROW._References THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_References'',OLDROW._References,NEWROW._References); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Contacts'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "ContactsAfterInsert" AFTER INSERT ON "Contacts" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ID'',NEWROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Title'',NEWROW._Title); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Forename'',NEWROW._Forename); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Surname'',NEWROW._Surname); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Address1'',NEWROW._Address1); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Address2'',NEWROW._Address2); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Town'',NEWROW._Town); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_County'',NEWROW._County); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Country'',NEWROW._Country); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PostCode'',NEWROW._PostCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HomePhone'',NEWROW._HomePhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPADate'',NEWROW._LastDPADate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPACheckBy'',NEWROW._LastDPACheckBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPAAccessRequest'',NEWROW._LastDPAAccessRequest); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastDPASupplied'',NEWROW._LastDPASupplied); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Mobile'',NEWROW._Mobile); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HomeEmail'',NEWROW._HomeEmail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastRecruited'',NEWROW._LastRecruited); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCVDate'',NEWROW._LatestCVDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Placed'',NEWROW._Placed); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkJobCodes'',NEWROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkMarkets'',NEWROW._fkMarkets); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_RecruitedBy'',NEWROW._RecruitedBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ContactInterval'',NEWROW._ContactInterval); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_AttemptInterval'',NEWROW._AttemptInterval); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ModDate'',NEWROW._ModDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Status'',NEWROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_DoB'',NEWROW._DoB); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_YoB'',NEWROW._YoB); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastCallBy'',NEWROW._LastCallBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Source'',NEWROW._Source); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkStaff_LTC'',NEWROW._fkStaff_LTC); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LTCLastAttempt'',NEWROW._LTCLastAttempt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PNotes'',NEWROW._PNotes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoMailShots'',NEWROW._NoMailShots); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCVType'',NEWROW._LatestCVType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LTCAlarm'',NEWROW._LTCAlarm); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LastCall'',NEWROW._LastCall); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Created'',NEWROW._Created); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Partner'',NEWROW._Partner); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_HiringManager'',NEWROW._HiringManager); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoticePeriod'',NEWROW._NoticePeriod); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_BaseSalary'',NEWROW._BaseSalary); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SalaryDate'',NEWROW._SalaryDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SalaryWanted'',NEWROW._SalaryWanted); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_WantedDate'',NEWROW._WantedDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_NoEshots'',NEWROW._NoEshots); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_PackageInfo'',NEWROW._PackageInfo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Links'',NEWROW._Links); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Notes'',NEWROW._Notes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Skills'',NEWROW._Skills); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_OtherEddresses'',NEWROW._OtherEddresses); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_DPAHistory'',NEWROW._DPAHistory); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Attributes'',NEWROW._Attributes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_UserFlags'',NEWROW._UserFlags); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_LatestCV'',NEWROW._LatestCV); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SellingPoints'',NEWROW._SellingPoints); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_OtherPhoneNumbers'',NEWROW._OtherPhoneNumbers); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Referrals'',NEWROW._Referrals); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_References'',NEWROW._References); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Contacts'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "ContactsAfterDelete" AFTER DELETE ON "Contacts" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alContacts''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ID'',OLDROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Title'',OLDROW._Title); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Forename'',OLDROW._Forename); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Surname'',OLDROW._Surname); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Address1'',OLDROW._Address1); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Address2'',OLDROW._Address2); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Town'',OLDROW._Town); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_County'',OLDROW._County); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Country'',OLDROW._Country); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_PostCode'',OLDROW._PostCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_HomePhone'',OLDROW._HomePhone); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastDPADate'',OLDROW._LastDPADate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastDPACheckBy'',OLDROW._LastDPACheckBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastDPAAccessRequest'',OLDROW._LastDPAAccessRequest); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastDPASupplied'',OLDROW._LastDPASupplied); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Mobile'',OLDROW._Mobile); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_HomeEmail'',OLDROW._HomeEmail); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastRecruited'',OLDROW._LastRecruited); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LatestCVDate'',OLDROW._LatestCVDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Placed'',OLDROW._Placed); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkJobCodes'',OLDROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkMarkets'',OLDROW._fkMarkets); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_RecruitedBy'',OLDROW._RecruitedBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ContactInterval'',OLDROW._ContactInterval); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_AttemptInterval'',OLDROW._AttemptInterval); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ModDate'',OLDROW._ModDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Status'',OLDROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_DoB'',OLDROW._DoB); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_YoB'',OLDROW._YoB); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastCallBy'',OLDROW._LastCallBy); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Source'',OLDROW._Source); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkStaff_LTC'',OLDROW._fkStaff_LTC); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LTCLastAttempt'',OLDROW._LTCLastAttempt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_PNotes'',OLDROW._PNotes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_NoMailShots'',OLDROW._NoMailShots); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LatestCVType'',OLDROW._LatestCVType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LTCAlarm'',OLDROW._LTCAlarm); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LastCall'',OLDROW._LastCall); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Created'',OLDROW._Created); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Partner'',OLDROW._Partner); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_HiringManager'',OLDROW._HiringManager); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_NoticePeriod'',OLDROW._NoticePeriod); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_BaseSalary'',OLDROW._BaseSalary); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_SalaryDate'',OLDROW._SalaryDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_SalaryWanted'',OLDROW._SalaryWanted); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_WantedDate'',OLDROW._WantedDate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_NoEshots'',OLDROW._NoEshots); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_PackageInfo'',OLDROW._PackageInfo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Links'',OLDROW._Links); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Notes'',OLDROW._Notes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Skills'',OLDROW._Skills); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_OtherEddresses'',OLDROW._OtherEddresses); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_DPAHistory'',OLDROW._DPAHistory); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Attributes'',OLDROW._Attributes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_UserFlags'',OLDROW._UserFlags); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_LatestCV'',OLDROW._LatestCV); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_SellingPoints'',OLDROW._SellingPoints); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_OtherPhoneNumbers'',OLDROW._OtherPhoneNumbers); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Referrals'',OLDROW._Referrals); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_References'',OLDROW._References); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Contacts'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatPhoneNumbers" BEFORE UPDATE OF "_HomePhone", "_Mobile", "_OtherPhoneNumbers" ON "Contacts" BEGIN IF NOT NEWROW._HomePhone IS NULL THEN IF REPLACE('' '','''',NEWROW._HomePhone) = '''' THEN SET NEWROW._HomePhone = NULL; ELSE SET NEWROW._HomePhone = FormatPhoneNo(NEWROW._HomePhone); END IF; END IF; IF NOT NEWROW._Mobile IS NULL THEN IF REPLACE('' '','''',NEWROW._Mobile) = '''' THEN SET NEWROW._Mobile = NULL; ELSE SET NEWROW._Mobile = FormatPhoneNo(NEWROW._Mobile); END IF; END IF; IF NOT NEWROW._OtherPhoneNumbers IS NULL THEN IF REPLACE('' '','''',NEWROW._OtherPhoneNumbers) = '''' THEN SET NEWROW._OtherPhoneNumbers = NULL; ELSE SET NEWROW._OtherPhoneNumbers = FormatPhoneNo(NEWROW._OtherPhoneNumbers); END IF; END IF; END'; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatNewPhoneNumbers" BEFORE INSERT ON "Contacts" BEGIN IF NOT NEWROW._HomePhone IS NULL THEN IF REPLACE('' '','''',NEWROW._HomePhone) = '''' THEN SET NEWROW._HomePhone = NULL; ELSE SET NEWROW._HomePhone = FormatPhoneNo(NEWROW._HomePhone); END IF; END IF; IF NOT NEWROW._Mobile IS NULL THEN IF REPLACE('' '','''',NEWROW._Mobile) = '''' THEN SET NEWROW._Mobile = NULL; ELSE SET NEWROW._Mobile = FormatPhoneNo(NEWROW._Mobile); END IF; END IF; IF NOT NEWROW._OtherPhoneNumbers IS NULL THEN IF REPLACE('' '','''',NEWROW._OtherPhoneNumbers) = '''' THEN SET NEWROW._OtherPhoneNumbers = NULL; ELSE SET NEWROW._OtherPhoneNumbers = FormatPhoneNo(NEWROW._OtherPhoneNumbers); END IF; END IF; END'; -- Creating indexes for Contacts table EXECUTE IMMEDIATE 'CREATE INDEX "ContactName" ON "Contacts" ("_Surname" COLLATE "ANSI_CI", "_Forename" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "HomeEmail" ON "Contacts" ("_HomeEmail" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Market" ON "Contacts" ("_fkMarkets" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "JobCode" ON "Contacts" ("_fkJobCodes" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "LTC" ON "Contacts" ("_fkStaff_LTC" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "LTCAlarm" ON "Contacts" ("_LTCAlarm")'; EXECUTE IMMEDIATE 'CREATE INDEX "Town" ON "Contacts" ("_Town" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "County" ON "Contacts" ("_County" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Country" ON "Contacts" ("_Country" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Status" ON "Contacts" ("_Status" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Skills" ON "Contacts" ("_Skills" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Attributes" ON "Contacts" ("_Attributes" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_UserFlags" ON "Contacts" ("_UserFlags" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Notes" ON "Contacts" ("_Notes" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating triggers for DialControl table EXECUTE IMMEDIATE 'CREATE TRIGGER "DialControlAfterUpdate" AFTER UPDATE ON "DialControl" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alDialControl''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._PhoneNo <> OLDROW._PhoneNo THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field, _Before, _After) VALUES(''DialControl'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,''_PhoneNo'',OLDROW._PhoneNo,NEWROW._PhoneNo); END IF; IF NEWROW._Action <> OLDROW._Action THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field, _Before, _After) VALUES(''DialControl'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,''_Action'',OLDROW._Action,NEWROW._Action); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1) VALUES(''DialControl'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "DialControlAfterInsert" AFTER INSERT ON "DialControl" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alDialControl''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field,_After) VALUES(''DialControl'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,''_PhoneNo'',NEWROW._PhoneNo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field, _After) VALUES(''DialControl'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,''_PhoneNo'',NEWROW._Action); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1) VALUES(''DialControl'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "DialControlAfterDelete" AFTER DELETE ON "DialControl" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alDialControl''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field, _Before) VALUES(''DialControl'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,''_PhoneNo'',OLDROW._PhoneNo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Field, _Before) VALUES(''DialControl'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,''_Action'',OLDROW._Action); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1) VALUES(''DialControl'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID); END IF; END IF; END '; -- Creating indexes for DialControl table EXECUTE IMMEDIATE 'CREATE INDEX "Contact" ON "DialControl" ("_fkContacts", "_PhoneNo" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "DialControl" ("_fkCompanies", "_PhoneNo" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "PhoneNo" ON "DialControl" ("_PhoneNo" COLLATE "ANSI_CI")'; -- Creating indexes for Diary table EXECUTE IMMEDIATE 'CREATE INDEX "Day" ON "Diary" ("_Day")'; EXECUTE IMMEDIATE 'CREATE INDEX "Start" ON "Diary" ("_Start")'; EXECUTE IMMEDIATE 'CREATE INDEX "Reason" ON "Diary" ("_Reason" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_InBrief" ON "Diary" ("_InBrief" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Details" ON "Diary" ("_Details" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for DiaryLinks table EXECUTE IMMEDIATE 'CREATE INDEX "Staff" ON "DiaryLinks" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Contact" ON "DiaryLinks" ("_fkContacts")'; EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "DiaryLinks" ("_fkCompanies")'; EXECUTE IMMEDIATE 'CREATE INDEX "Diary" ON "DiaryLinks" ("_fkDiary")'; EXECUTE IMMEDIATE 'CREATE INDEX "Alarm" ON "DiaryLinks" ("_Alarm")'; -- Creating indexes for ELN table EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "ELN" ("_fkCompanies")'; EXECUTE IMMEDIATE 'CREATE INDEX "Contact" ON "ELN" ("_fkContacts")'; EXECUTE IMMEDIATE 'CREATE INDEX "Timestamp" ON "ELN" ("_TimeStamp" DESC)'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Flags" ON "ELN" ("_Flags" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Message" ON "ELN" ("_Message" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 FILTER TYPE COLUMN "_DisplayFormat" WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Subject" ON "ELN" ("_Subject" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Comments" ON "ELN" ("_Comments" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for emAddress table EXECUTE IMMEDIATE 'CREATE INDEX "PopPox" ON "emAddress" ("_fkPopBoxes" COLLATE "ANSI_CI")'; -- Creating triggers for EMails table EXECUTE IMMEDIATE 'CREATE TRIGGER "RemoveReadStatus" AFTER DELETE ON "EMails" BEGIN EXECUTE IMMEDIATE ''DELETE FROM emReadStatus WHERE emReadStatus._fkEMails = ''+CAST(OLDROW._MsgNo AS VARCHAR); END'; EXECUTE IMMEDIATE 'CREATE TRIGGER "emAfterInsert" AFTER INSERT ON "EMails" BEGIN DECLARE IsDone BOOLEAN; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = COALESCE(_OnFile,0) + 1 WHERE _BoxNo = ''+CAST(NEWROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "emAfterDelete" AFTER DELETE ON "EMails" BEGIN DECLARE IsDone BOOLEAN; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = COALESCE(_OnFile,0) - 1 WHERE _BoxNo = ''+CAST(OLDROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; EXECUTE IMMEDIATE ''DELETE FROM emReadStatus WHERE _fkEMails = ''+CAST(OLDROW._MsgNo AS VARCHAR); END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "emAfterUpdate" AFTER UPDATE ON "EMails" BEGIN DECLARE IsDone BOOLEAN; DECLARE mbMonitored SENSITIVE CURSOR FOR mbStatus; DECLARE IsMonitored BOOLEAN; IF OLDROW._fkMailBoxes <> NEWROW._fkMailBoxes THEN SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = COALESCE(_OnFile,0) + 1 WHERE _BoxNo = ''+CAST(NEWROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = _OnFile - 1 WHERE _BoxNo = ''+CAST(OLDROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION END; END WHILE; EXECUTE IMMEDIATE ''DELETE FROM emReadStatus WHERE _fkEMails = ''+ CAST(OLDROW._MsgNo AS VARCHAR) + '' AND '' + ''_fkStaff = ''+ QUOTEDSTR(CURRENT_USER); PREPARE mbStatus FROM ''SELECT _Monitored FROM MailBoxes WHERE _BoxNo = ''+CAST(NEWROW._fkMailBoxes AS VARCHAR); OPEN mbMonitored; FETCH FIRST FROM mbMonitored (_Monitored) INTO IsMonitored; IF IsMonitored THEN EXECUTE IMMEDIATE ''INSERT INTO emReadStatus (_fkMailBoxes, _fkEMails, _fkStaff) ''+ ''VALUES(''+ CAST(NEWROW._fkMailBoxes AS VARCHAR)+'',''+ CAST(OLDROW._MsgNo AS VARCHAR) + '','' + QUOTEDSTR(CURRENT_USER)+'')''; END IF; END IF; END '; -- Creating indexes for EMails table EXECUTE IMMEDIATE 'CREATE INDEX "MailBox" ON "EMails" ("_fkMailBoxes")'; EXECUTE IMMEDIATE 'CREATE INDEX "Staff" ON "EMails" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MessageID" ON "EMails" ("_MD5" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Flags" ON "EMails" ("_Flags" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Message" ON "EMails" ("_Message" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 FILTER TYPE COLUMN "_DisplayFormat" WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Subject" ON "EMails" ("_Subject" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Comments" ON "EMails" ("_Comments" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating triggers for emArchive table EXECUTE IMMEDIATE 'CREATE TRIGGER "emaAfterInsert" AFTER INSERT ON "emArchive" BEGIN DECLARE IsDone BOOLEAN; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _Archived = COALESCE(_Archived,0) + 1 WHERE _BoxNo = ''+CAST(NEWROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "emaAfterDelete" AFTER DELETE ON "emArchive" BEGIN DECLARE IsDone BOOLEAN; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _Archived = COALESCE(_Archived,0) - 1 WHERE _BoxNo = ''+CAST(OLDROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "emaAfterUpdate" AFTER UPDATE ON "emArchive" BEGIN DECLARE IsDone BOOLEAN; IF OLDROW._fkMailBoxes <> NEWROW._fkMailBoxes THEN SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = COALESCE(_Archived,0) + 1 WHERE _BoxNo = ''+CAST(NEWROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION IF ERRORCODE() <> 1005 THEN SET IsDone = TRUE; END IF; END; END WHILE; SET IsDone = FALSE; WHILE NOT IsDone DO BEGIN EXECUTE IMMEDIATE ''UPDATE MailBoxes SET _OnFile = _Archived - 1 WHERE _BoxNo = ''+CAST(OLDROW._fkMailBoxes AS VARCHAR); SET IsDone = TRUE; EXCEPTION END; END WHILE; END IF; END '; -- Creating indexes for emArchive table EXECUTE IMMEDIATE 'CREATE INDEX "MailBox" ON "emArchive" ("_fkMailBoxes")'; EXECUTE IMMEDIATE 'CREATE INDEX "User" ON "emArchive" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MessageID" ON "emArchive" ("_MD5" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Message" ON "emArchive" ("_Message" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 FILTER TYPE COLUMN "_DisplayFormat" WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Subject" ON "emArchive" ("_Subject" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Comments" ON "emArchive" ("_Comments" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for emLog table EXECUTE IMMEDIATE 'CREATE INDEX "LogType" ON "emLog" ("_LogType" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "TimeStamp" ON "emLog" ("_TimeStamp" DESC)'; -- Creating indexes for emLogArchive table EXECUTE IMMEDIATE 'CREATE INDEX "LogType" ON "emLogArchive" ("_LogType" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "TimeStamp" ON "emLogArchive" ("_TimeStamp")'; -- Creating indexes for emReadStatus table EXECUTE IMMEDIATE 'CREATE INDEX "Staff" ON "emReadStatus" ("_fkStaff" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "MailBox" ON "emReadStatus" ("_fkMailBoxes")'; -- Creating indexes for eShots table EXECUTE IMMEDIATE 'CREATE INDEX "Subject" ON "eShots" ("_Subject" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Comments" ON "eShots" ("_Comments" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "LastUsed" ON "eShots" ("_LastUsed")'; -- Creating triggers for Introductions table EXECUTE IMMEDIATE 'CREATE TRIGGER "IntroductionsAfterUpdate" AFTER UPDATE ON "Introductions" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alIntroductions''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._ID <> OLDROW._ID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ID'',OLDROW._ID,NEWROW._ID); END IF; IF NEWROW._Initiated <> OLDROW._Initiated THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Initiated'',OLDROW._Initiated,NEWROW._Initiated); END IF; IF NEWROW._fkCompanies <> OLDROW._fkCompanies THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkCompanies'',OLDROW._fkCompanies,NEWROW._fkCompanies); END IF; IF NEWROW._fkContacts <> OLDROW._fkContacts THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts'',OLDROW._fkContacts,NEWROW._fkContacts); END IF; IF NEWROW._Forename <> OLDROW._Forename THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Forename'',OLDROW._Forename,NEWROW._Forename); END IF; IF NEWROW._Surname <> OLDROW._Surname THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Surname'',OLDROW._Surname,NEWROW._Surname); END IF; IF NEWROW._SplitWith <> OLDROW._SplitWith THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SplitWith'',OLDROW._SplitWith,NEWROW._SplitWith); END IF; IF NEWROW._CompanyName <> OLDROW._CompanyName THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_CompanyName'',OLDROW._CompanyName,NEWROW._CompanyName); END IF; IF NEWROW._SplitPcnt <> OLDROW._SplitPcnt THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SplitPcnt'',OLDROW._SplitPcnt,NEWROW._SplitPcnt); END IF; IF NEWROW._fkOrderBook <> OLDROW._fkOrderBook THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkOrderBook'',OLDROW._fkOrderBook,NEWROW._fkOrderBook); END IF; IF NEWROW._fkContacts_MainContact <> OLDROW._fkContacts_MainContact THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts_MainContact'',OLDROW._fkContacts_MainContact,NEWROW._fkContacts_MainContact); END IF; IF NEWROW._fkJobCodes <> OLDROW._fkJobCodes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkJobCodes'',OLDROW._fkJobCodes,NEWROW._fkJobCodes); END IF; IF NEWROW._fkContacts_StageContact <> OLDROW._fkContacts_StageContact THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts_StageContact'',OLDROW._fkContacts_StageContact,NEWROW._fkContacts_StageContact); END IF; IF NEWROW._JobTitle <> OLDROW._JobTitle THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_JobTitle'',OLDROW._JobTitle,NEWROW._JobTitle); END IF; IF NEWROW._fkStaff <> OLDROW._fkStaff THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkStaff'',OLDROW._fkStaff,NEWROW._fkStaff); END IF; IF NEWROW._Status <> OLDROW._Status THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Status'',OLDROW._Status,NEWROW._Status); END IF; IF NEWROW._Date <> OLDROW._Date THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Date'',OLDROW._Date,NEWROW._Date); END IF; IF NEWROW._Time <> OLDROW._Time THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Time'',OLDROW._Time,NEWROW._Time); END IF; IF NEWROW._Duration <> OLDROW._Duration THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Duration'',OLDROW._Duration,NEWROW._Duration); END IF; IF NEWROW._ConfirmedCandidate <> OLDROW._ConfirmedCandidate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ConfirmedCandidate'',OLDROW._ConfirmedCandidate,NEWROW._ConfirmedCandidate); END IF; IF NEWROW._ConfirmedCompany <> OLDROW._ConfirmedCompany THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ConfirmedCompany'',OLDROW._ConfirmedCompany,NEWROW._ConfirmedCompany); END IF; IF NEWROW._MainContact <> OLDROW._MainContact THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_MainContact'',OLDROW._MainContact,NEWROW._MainContact); END IF; IF NEWROW._StageContact <> OLDROW._StageContact THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_StageContact'',OLDROW._StageContact,NEWROW._StageContact); END IF; IF NEWROW._Stage <> OLDROW._Stage THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Stage'',OLDROW._Stage,NEWROW._Stage); END IF; IF NEWROW._StageHistory <> OLDROW._StageHistory THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_StageHistory'',OLDROW._StageHistory,NEWROW._StageHistory); END IF; IF NEWROW._Debrief <> OLDROW._Debrief THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Debrief'',OLDROW._Debrief,NEWROW._Debrief); END IF; IF NEWROW._Panel <> OLDROW._Panel THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Panel'',OLDROW._Panel,NEWROW._Panel); END IF; IF NEWROW._Venue <> OLDROW._Venue THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Venue'',OLDROW._Venue,NEWROW._Venue); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Introductions'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "IntroductionsAfterInsert" AFTER INSERT ON "Introductions" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alIntroductions''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ID'',NEWROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Initiated'',NEWROW._Initiated); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkCompanies'',NEWROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts'',NEWROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Forename'',NEWROW._Forename); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Surname'',NEWROW._Surname); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SplitWith'',NEWROW._SplitWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_CompanyName'',NEWROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_SplitPcnt'',NEWROW._SplitPcnt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkOrderBook'',NEWROW._fkOrderBook); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts_MainContact'',NEWROW._fkContacts_MainContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkJobCodes'',NEWROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkContacts_StageContact'',NEWROW._fkContacts_StageContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_JobTitle'',NEWROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_fkStaff'',NEWROW._fkStaff); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Status'',NEWROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Date'',NEWROW._Date); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Time'',NEWROW._Time); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Duration'',NEWROW._Duration); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ConfirmedCandidate'',NEWROW._ConfirmedCandidate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_ConfirmedCompany'',NEWROW._ConfirmedCompany); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_MainContact'',NEWROW._MainContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_StageContact'',NEWROW._StageContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Stage'',NEWROW._Stage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_StageHistory'',NEWROW._StageHistory); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Debrief'',NEWROW._Debrief); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Panel'',NEWROW._Panel); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname,''_Venue'',NEWROW._Venue); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Introductions'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._Forename+'' ''+NEWROW._Surname); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "IntroductionsAfterDelete" AFTER DELETE ON "Introductions" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alIntroductions''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ID'',OLDROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Initiated'',OLDROW._Initiated); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkCompanies'',OLDROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkContacts'',OLDROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Forename'',OLDROW._Forename); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Surname'',OLDROW._Surname); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_SplitWith'',OLDROW._SplitWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_CompanyName'',OLDROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_SplitPcnt'',OLDROW._SplitPcnt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkOrderBook'',OLDROW._fkOrderBook); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkContacts_MainContact'',OLDROW._fkContacts_MainContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkJobCodes'',OLDROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkContacts_StageContact'',OLDROW._fkContacts_StageContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_JobTitle'',OLDROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_fkStaff'',OLDROW._fkStaff); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Status'',OLDROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Date'',OLDROW._Date); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Time'',OLDROW._Time); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Duration'',OLDROW._Duration); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ConfirmedCandidate'',OLDROW._ConfirmedCandidate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_ConfirmedCompany'',OLDROW._ConfirmedCompany); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_MainContact'',OLDROW._MainContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_StageContact'',OLDROW._StageContact); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Stage'',OLDROW._Stage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_StageHistory'',OLDROW._StageHistory); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Debrief'',OLDROW._Debrief); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Panel'',OLDROW._Panel); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname,''_Venue'',OLDROW._Venue); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Introductions'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._Forename+'' ''+OLDROW._Surname); END IF; END IF; END '; -- Creating indexes for Introductions table EXECUTE IMMEDIATE 'CREATE INDEX "Order" ON "Introductions" ("_fkOrderBook")'; EXECUTE IMMEDIATE 'CREATE INDEX "fkCompanies" ON "Introductions" ("_fkCompanies", "_Date" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "fkContacts" ON "Introductions" ("_fkContacts", "_Date" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "Introductions" ("_CompanyName" COLLATE "ANSI_CI", "_Date" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "Candidate" ON "Introductions" ("_Surname" COLLATE "ANSI_CI", "_Forename" COLLATE "ANSI_CI", "_Date" DESC)'; -- Creating triggers for Invoices table EXECUTE IMMEDIATE 'CREATE TRIGGER "InvoicesAfterDelete" AFTER DELETE ON "Invoices" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alInvoices''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_ID'',OLDROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvNo'',OLDROW._InvNo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceType'',OLDROW._InvoiceType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Invoiced'',OLDROW._Invoiced); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Paid'',OLDROW._Paid); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_fkOrderBook'',OLDROW._fkOrderBook); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_fkCompanies'',OLDROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_fkIntroductions'',OLDROW._fkIntroductions); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_JobTitle'',OLDROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_PurchaseOrder'',OLDROW._PurchaseOrder); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_CompanyName'',OLDROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Invoicee'',OLDROW._Invoicee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_FeeAgreedWith'',OLDROW._FeeAgreedWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_TotalPackage'',OLDROW._TotalPackage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_VATrate'',OLDROW._VATrate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_OverallFeeRate'',OLDROW._OverallFeeRate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_StageFeeRate'',OLDROW._StageFeeRate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_VATamount'',OLDROW._VATamount); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Fee'',OLDROW._Fee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceValue'',OLDROW._InvoiceValue); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceHeader'',OLDROW._InvoiceHeader); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Terms'',OLDROW._Terms); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_VATNumber'',OLDROW._VATNumber); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceAddress'',OLDROW._InvoiceAddress); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceBody'',OLDROW._InvoiceBody); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_Candidates'',OLDROW._Candidates); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_History'',OLDROW._History); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo,''_InvoiceLines'',OLDROW._InvoiceLines); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Invoices'',BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._InvNo); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "InvoicesAfterUpdate" AFTER UPDATE ON "Invoices" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alInvoices''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._ID <> OLDROW._ID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_ID'',OLDROW._ID,NEWROW._ID); END IF; IF NEWROW._InvNo <> OLDROW._InvNo THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvNo'',OLDROW._InvNo,NEWROW._InvNo); END IF; IF NEWROW._InvoiceType <> OLDROW._InvoiceType THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceType'',OLDROW._InvoiceType,NEWROW._InvoiceType); END IF; IF NEWROW._Invoiced <> OLDROW._Invoiced THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Invoiced'',OLDROW._Invoiced,NEWROW._Invoiced); END IF; IF NEWROW._Paid <> OLDROW._Paid THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Paid'',OLDROW._Paid,NEWROW._Paid); END IF; IF NEWROW._fkOrderBook <> OLDROW._fkOrderBook THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkOrderBook'',OLDROW._fkOrderBook,NEWROW._fkOrderBook); END IF; IF NEWROW._fkCompanies <> OLDROW._fkCompanies THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkCompanies'',OLDROW._fkCompanies,NEWROW._fkCompanies); END IF; IF NEWROW._fkIntroductions <> OLDROW._fkIntroductions THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkIntroductions'',OLDROW._fkIntroductions,NEWROW._fkIntroductions); END IF; IF NEWROW._JobTitle <> OLDROW._JobTitle THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_JobTitle'',OLDROW._JobTitle,NEWROW._JobTitle); END IF; IF NEWROW._PurchaseOrder <> OLDROW._PurchaseOrder THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_PurchaseOrder'',OLDROW._PurchaseOrder,NEWROW._PurchaseOrder); END IF; IF NEWROW._CompanyName <> OLDROW._CompanyName THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_CompanyName'',OLDROW._CompanyName,NEWROW._CompanyName); END IF; IF NEWROW._Invoicee <> OLDROW._Invoicee THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Invoicee'',OLDROW._Invoicee,NEWROW._Invoicee); END IF; IF NEWROW._FeeAgreedWith <> OLDROW._FeeAgreedWith THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_FeeAgreedWith'',OLDROW._FeeAgreedWith,NEWROW._FeeAgreedWith); END IF; IF NEWROW._TotalPackage <> OLDROW._TotalPackage THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_TotalPackage'',OLDROW._TotalPackage,NEWROW._TotalPackage); END IF; IF NEWROW._VATrate <> OLDROW._VATrate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATrate'',OLDROW._VATrate,NEWROW._VATrate); END IF; IF NEWROW._OverallFeeRate <> OLDROW._OverallFeeRate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_OverallFeeRate'',OLDROW._OverallFeeRate,NEWROW._OverallFeeRate); END IF; IF NEWROW._StageFeeRate <> OLDROW._StageFeeRate THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_StageFeeRate'',OLDROW._StageFeeRate,NEWROW._StageFeeRate); END IF; IF NEWROW._VATamount <> OLDROW._VATamount THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATamount'',OLDROW._VATamount,NEWROW._VATamount); END IF; IF NEWROW._Fee <> OLDROW._Fee THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Fee'',OLDROW._Fee,NEWROW._Fee); END IF; IF NEWROW._InvoiceValue <> OLDROW._InvoiceValue THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceValue'',OLDROW._InvoiceValue,NEWROW._InvoiceValue); END IF; IF NEWROW._InvoiceHeader <> OLDROW._InvoiceHeader THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceHeader'',OLDROW._InvoiceHeader,NEWROW._InvoiceHeader); END IF; IF NEWROW._Terms <> OLDROW._Terms THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Terms'',OLDROW._Terms,NEWROW._Terms); END IF; IF NEWROW._VATNumber <> OLDROW._VATNumber THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATNumber'',OLDROW._VATNumber,NEWROW._VATNumber); END IF; IF NEWROW._InvoiceAddress <> OLDROW._InvoiceAddress THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceAddress'',OLDROW._InvoiceAddress,NEWROW._InvoiceAddress); END IF; IF NEWROW._InvoiceBody <> OLDROW._InvoiceBody THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceBody'',OLDROW._InvoiceBody,NEWROW._InvoiceBody); END IF; IF NEWROW._Candidates <> OLDROW._Candidates THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Candidates'',OLDROW._Candidates,NEWROW._Candidates); END IF; IF NEWROW._History <> OLDROW._History THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_History'',OLDROW._History,NEWROW._History); END IF; IF NEWROW._InvoiceLines <> OLDROW._InvoiceLines THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceLines'',OLDROW._InvoiceLines,NEWROW._InvoiceLines); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Invoices'',BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "InvoicesAfterInsert" AFTER INSERT ON "Invoices" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alInvoices''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_ID'',NEWROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvNo'',NEWROW._InvNo); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceType'',NEWROW._InvoiceType); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Invoiced'',NEWROW._Invoiced); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Paid'',NEWROW._Paid); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkOrderBook'',NEWROW._fkOrderBook); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkCompanies'',NEWROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_fkIntroductions'',NEWROW._fkIntroductions); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_JobTitle'',NEWROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_PurchaseOrder'',NEWROW._PurchaseOrder); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_CompanyName'',NEWROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Invoicee'',NEWROW._Invoicee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_FeeAgreedWith'',NEWROW._FeeAgreedWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_TotalPackage'',NEWROW._TotalPackage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATrate'',NEWROW._VATrate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_OverallFeeRate'',NEWROW._OverallFeeRate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_StageFeeRate'',NEWROW._StageFeeRate); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATamount'',NEWROW._VATamount); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Fee'',NEWROW._Fee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceValue'',NEWROW._InvoiceValue); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceHeader'',NEWROW._InvoiceHeader); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Terms'',NEWROW._Terms); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_VATNumber'',NEWROW._VATNumber); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceAddress'',NEWROW._InvoiceAddress); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceBody'',NEWROW._InvoiceBody); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_Candidates'',NEWROW._Candidates); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_History'',NEWROW._History); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo,''_InvoiceLines'',NEWROW._InvoiceLines); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''Invoices'',BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._InvNo); END IF; END IF; END '; -- Creating indexes for JobCodes table EXECUTE IMMEDIATE 'CREATE INDEX "JobDesc" ON "JobCodes" ("_JobDesc" COLLATE "ANSI_CI")'; -- Creating triggers for MailBoxes table EXECUTE IMMEDIATE 'CREATE TRIGGER "mbAfterDelete" AFTER DELETE ON "MailBoxes" BEGIN EXECUTE IMMEDIATE ''DELETE FROM emReadStatus WHERE _fkMailBoxes = ''+CAST(OLDROW._BoxNo AS VARCHAR); END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "mdAfterUpdate" AFTER UPDATE ON "MailBoxes" BEGIN IF NOT NEWROW._Monitored THEN EXECUTE IMMEDIATE ''DELETE FROM emReadStatus WHERE _fkMailBoxes = ''+CAST(OLDROW._BoxNo AS VARCHAR); END IF; END '; -- Creating indexes for MailBoxes table EXECUTE IMMEDIATE 'CREATE INDEX "BelongsTo" ON "MailBoxes" ("_BelongsTo")'; EXECUTE IMMEDIATE 'CREATE INDEX "BoxName" ON "MailBoxes" ("_BoxName" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Monitored" ON "MailBoxes" ("_Monitored")'; -- Creating indexes for Markets table EXECUTE IMMEDIATE 'CREATE INDEX "MktDesc" ON "Markets" ("_MktDesc" COLLATE "ANSI_CI")'; -- Creating triggers for OrderBook table EXECUTE IMMEDIATE 'CREATE TRIGGER "OrderBookAfterUpdate" AFTER UPDATE ON "OrderBook" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alOrderBook''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._ID <> OLDROW._ID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_ID'',OLDROW._ID,NEWROW._ID); END IF; IF NEWROW._fkCompanies <> OLDROW._fkCompanies THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkCompanies'',OLDROW._fkCompanies,NEWROW._fkCompanies); END IF; IF NEWROW._fkContacts <> OLDROW._fkContacts THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkContacts'',OLDROW._fkContacts,NEWROW._fkContacts); END IF; IF NEWROW._CompanyName <> OLDROW._CompanyName THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CompanyName'',OLDROW._CompanyName,NEWROW._CompanyName); END IF; IF NEWROW._fkSites <> OLDROW._fkSites THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkSites'',OLDROW._fkSites,NEWROW._fkSites); END IF; IF NEWROW._ContactName <> OLDROW._ContactName THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_ContactName'',OLDROW._ContactName,NEWROW._ContactName); END IF; IF NEWROW._fkStaff <> OLDROW._fkStaff THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkStaff'',OLDROW._fkStaff,NEWROW._fkStaff); END IF; IF NEWROW._fkJobCodes <> OLDROW._fkJobCodes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkJobCodes'',OLDROW._fkJobCodes,NEWROW._fkJobCodes); END IF; IF NEWROW._JobTitle <> OLDROW._JobTitle THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_JobTitle'',OLDROW._JobTitle,NEWROW._JobTitle); END IF; IF NEWROW._BasicLow <> OLDROW._BasicLow THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_BasicLow'',OLDROW._BasicLow,NEWROW._BasicLow); END IF; IF NEWROW._BasicHigh <> OLDROW._BasicHigh THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_BasicHigh'',OLDROW._BasicHigh,NEWROW._BasicHigh); END IF; IF NEWROW._Car <> OLDROW._Car THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Car'',OLDROW._Car,NEWROW._Car); END IF; IF NEWROW._CarValue <> OLDROW._CarValue THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CarValue'',OLDROW._CarValue,NEWROW._CarValue); END IF; IF NEWROW._FeePercent <> OLDROW._FeePercent THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeePercent'',OLDROW._FeePercent,NEWROW._FeePercent); END IF; IF NEWROW._FeePounds <> OLDROW._FeePounds THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeePounds'',OLDROW._FeePounds,NEWROW._FeePounds); END IF; IF NEWROW._SplitWith <> OLDROW._SplitWith THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SplitWith'',OLDROW._SplitWith,NEWROW._SplitWith); END IF; IF NEWROW._SplitPcnt <> OLDROW._SplitPcnt THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SplitPcnt'',OLDROW._SplitPcnt,NEWROW._SplitPcnt); END IF; IF NEWROW._Status <> OLDROW._Status THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Status'',OLDROW._Status,NEWROW._Status); END IF; IF NEWROW._Type <> OLDROW._Type THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Type'',OLDROW._Type,NEWROW._Type); END IF; IF NEWROW._Stage <> OLDROW._Stage THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Stage'',OLDROW._Stage,NEWROW._Stage); END IF; IF NEWROW._Process <> OLDROW._Process THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Process'',OLDROW._Process,NEWROW._Process); END IF; IF NEWROW._Conversion <> OLDROW._Conversion THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Conversion'',OLDROW._Conversion,NEWROW._Conversion); END IF; IF NEWROW._Currency <> OLDROW._Currency THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Currency'',OLDROW._Currency,NEWROW._Currency); END IF; IF NEWROW._FeeCurrency <> OLDROW._FeeCurrency THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeeCurrency'',OLDROW._FeeCurrency,NEWROW._FeeCurrency); END IF; IF NEWROW._DateTaken <> OLDROW._DateTaken THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_DateTaken'',OLDROW._DateTaken,NEWROW._DateTaken); END IF; IF NEWROW._FixedFee <> OLDROW._FixedFee THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FixedFee'',OLDROW._FixedFee,NEWROW._FixedFee); END IF; IF NEWROW._Basis <> OLDROW._Basis THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Basis'',OLDROW._Basis,NEWROW._Basis); END IF; IF NEWROW._FeeAgreedWith <> OLDROW._FeeAgreedWith THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeeAgreedWith'',OLDROW._FeeAgreedWith,NEWROW._FeeAgreedWith); END IF; IF NEWROW._PurchaseOrder <> OLDROW._PurchaseOrder THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_PurchaseOrder'',OLDROW._PurchaseOrder,NEWROW._PurchaseOrder); END IF; IF NEWROW._DetailedInvoice <> OLDROW._DetailedInvoice THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_DetailedInvoice'',OLDROW._DetailedInvoice,NEWROW._DetailedInvoice); END IF; IF NEWROW._InvoiceAddress <> OLDROW._InvoiceAddress THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_InvoiceAddress'',OLDROW._InvoiceAddress,NEWROW._InvoiceAddress); END IF; IF NEWROW._RecruitingSpec <> OLDROW._RecruitingSpec THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_RecruitingSpec'',OLDROW._RecruitingSpec,NEWROW._RecruitingSpec); END IF; IF NEWROW._SalaryElements <> OLDROW._SalaryElements THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SalaryElements'',OLDROW._SalaryElements,NEWROW._SalaryElements); END IF; IF NEWROW._Scheduler <> OLDROW._Scheduler THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Scheduler'',OLDROW._Scheduler,NEWROW._Scheduler); END IF; IF NEWROW._Panel <> OLDROW._Panel THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Panel'',OLDROW._Panel,NEWROW._Panel); END IF; IF NEWROW._CandidateBrief <> OLDROW._CandidateBrief THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before, _After) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CandidateBrief'',OLDROW._CandidateBrief,NEWROW._CandidateBrief); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''OrderBook'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "OrderBookAfterInsert" AFTER INSERT ON "OrderBook" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alOrderBook''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_ID'',NEWROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkCompanies'',NEWROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkContacts'',NEWROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CompanyName'',NEWROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkSites'',NEWROW._fkSites); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_ContactName'',NEWROW._ContactName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkStaff'',NEWROW._fkStaff); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_fkJobCodes'',NEWROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_JobTitle'',NEWROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_BasicLow'',NEWROW._BasicLow); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_BasicHigh'',NEWROW._BasicHigh); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Car'',NEWROW._Car); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CarValue'',NEWROW._CarValue); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeePercent'',NEWROW._FeePercent); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeePounds'',NEWROW._FeePounds); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SplitWith'',NEWROW._SplitWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SplitPcnt'',NEWROW._SplitPcnt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Status'',NEWROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Type'',NEWROW._Type); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Stage'',NEWROW._Stage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Process'',NEWROW._Process); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Conversion'',NEWROW._Conversion); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Currency'',NEWROW._Currency); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeeCurrency'',NEWROW._FeeCurrency); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_DateTaken'',NEWROW._DateTaken); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FixedFee'',NEWROW._FixedFee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Basis'',NEWROW._Basis); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_FeeAgreedWith'',NEWROW._FeeAgreedWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_PurchaseOrder'',NEWROW._PurchaseOrder); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_DetailedInvoice'',NEWROW._DetailedInvoice); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_InvoiceAddress'',NEWROW._InvoiceAddress); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_RecruitingSpec'',NEWROW._RecruitingSpec); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_SalaryElements'',NEWROW._SalaryElements); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Scheduler'',NEWROW._Scheduler); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_Panel'',NEWROW._Panel); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _After) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName,''_CandidateBrief'',NEWROW._CandidateBrief); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''OrderBook'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._ID,NEWROW._CompanyName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "OrderBookAfterDelete" AFTER DELETE ON "OrderBook" BEGIN DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alOrderBook''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_ID'',OLDROW._ID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_fkCompanies'',OLDROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_fkContacts'',OLDROW._fkContacts); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_CompanyName'',OLDROW._CompanyName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_fkSites'',OLDROW._fkSites); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_ContactName'',OLDROW._ContactName); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_fkStaff'',OLDROW._fkStaff); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_fkJobCodes'',OLDROW._fkJobCodes); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_JobTitle'',OLDROW._JobTitle); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_BasicLow'',OLDROW._BasicLow); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_BasicHigh'',OLDROW._BasicHigh); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Car'',OLDROW._Car); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_CarValue'',OLDROW._CarValue); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_FeePercent'',OLDROW._FeePercent); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_FeePounds'',OLDROW._FeePounds); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_SplitWith'',OLDROW._SplitWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_SplitPcnt'',OLDROW._SplitPcnt); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Status'',OLDROW._Status); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Type'',OLDROW._Type); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Stage'',OLDROW._Stage); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Process'',OLDROW._Process); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Conversion'',OLDROW._Conversion); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Currency'',OLDROW._Currency); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_FeeCurrency'',OLDROW._FeeCurrency); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_DateTaken'',OLDROW._DateTaken); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_FixedFee'',OLDROW._FixedFee); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Basis'',OLDROW._Basis); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_FeeAgreedWith'',OLDROW._FeeAgreedWith); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_PurchaseOrder'',OLDROW._PurchaseOrder); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_DetailedInvoice'',OLDROW._DetailedInvoice); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_InvoiceAddress'',OLDROW._InvoiceAddress); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_RecruitingSpec'',OLDROW._RecruitingSpec); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_SalaryElements'',OLDROW._SalaryElements); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Scheduler'',OLDROW._Scheduler); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_Panel'',OLDROW._Panel); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo, _Field, _Before) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName,''_CandidateBrief'',OLDROW._CandidateBrief); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _NameInfo) VALUES(''OrderBook'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._ID,OLDROW._CompanyName); END IF; END IF; END '; -- Creating indexes for OrderBook table EXECUTE IMMEDIATE 'CREATE INDEX "Company" ON "OrderBook" ("_fkCompanies", "_DateTaken" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "CompanyName" ON "OrderBook" ("_CompanyName" COLLATE "ANSI_CI", "_DateTaken" DESC)'; EXECUTE IMMEDIATE 'CREATE INDEX "Stage" ON "OrderBook" ("_Stage" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Status" ON "OrderBook" ("_Status" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "When" ON "OrderBook" ("_DateTaken")'; EXECUTE IMMEDIATE 'CREATE INDEX "Type" ON "OrderBook" ("_Type" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "JobCode" ON "OrderBook" ("_fkJobCodes" COLLATE "ANSI_CI")'; -- Creating indexes for OrgType table EXECUTE IMMEDIATE 'CREATE INDEX "Description" ON "OrgType" ("_Description" COLLATE "ANSI_CI")'; -- Creating triggers for PopBoxes table EXECUTE IMMEDIATE 'CREATE TRIGGER "RemoveLinkedAddresses" AFTER DELETE ON "PopBoxes" BEGIN EXECUTE IMMEDIATE ''DELETE * FROM emAddress WHERE _fkPopBoxes = ''+QUOTEDSTR(OLDROW._PopBox); END'; EXECUTE IMMEDIATE 'CREATE TRIGGER "PopNameChange" BEFORE UPDATE OF "_PopBox" ON "PopBoxes" BEGIN DECLARE Changer SENSITIVE CURSOR FOR ChangerSQL; DECLARE sqlcode VARCHAR; SET sqlcode = ''UPDATE emAddress SET _fkPopBoxes = ? WHERE _fkPopBoxes = ?''; PREPARE ChangerSQL FROM sqlcode; OPEN Changer USING NEWROW._PopBox, OLDROW._PopBox; END '; -- Creating indexes for Projects table EXECUTE IMMEDIATE 'CREATE INDEX "UserID" ON "Projects" ("_fkStaff" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "StaffID" ON "Projects" ("_fkStaff" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "OrderBook" ON "Projects" ("_fkOrderBook")'; -- Creating indexes for ProjectStats table EXECUTE IMMEDIATE 'CREATE INDEX "Date" ON "ProjectStats" ("_Date")'; -- Creating indexes for Scripts table EXECUTE IMMEDIATE 'CREATE INDEX "Name" ON "Scripts" ("_Name" COLLATE "ANSI_CI")'; -- Creating triggers for Sites table EXECUTE IMMEDIATE 'CREATE TRIGGER "SitesAfterUpdate" AFTER UPDATE ON "Sites" BEGIN DECLARE CompanyName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Companies SENSITIVE CURSOR FOR CompanyDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE CompanyDB FROM ''SELECT _Name FROM Companies WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Companies USING NEWROW._fkCompanies; FETCH FROM Companies(_Name) INTO CompanyName; OPEN Logging; IF LogLevel = ''Field'' THEN IF NEWROW._fkCompanies <> OLDROW._fkCompanies THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_fkCompanies'',OLDROW._fkCompanies,NEWROW._fkCompanies); END IF; IF NEWROW._SiteID <> OLDROW._SiteID THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_SiteID'',OLDROW._SiteID,NEWROW._SiteID); END IF; IF NEWROW._Switchboard <> OLDROW._Switchboard THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Switchboard'',OLDROW._Switchboard,NEWROW._Switchboard); END IF; IF NEWROW._Fax <> OLDROW._Fax THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Fax'',OLDROW._Fax,NEWROW._Fax); END IF; IF NEWROW._Address1 <> OLDROW._Address1 THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Address1'',OLDROW._Address1,NEWROW._Address1); END IF; IF NEWROW._Address2 <> OLDROW._Address2 THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Address2'',OLDROW._Address2,NEWROW._Address2); END IF; IF NEWROW._Town <> OLDROW._Town THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Town'',OLDROW._Town,NEWROW._Town); END IF; IF NEWROW._County <> OLDROW._County THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_County'',OLDROW._County,NEWROW._County); END IF; IF NEWROW._Country <> OLDROW._Country THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Country'',OLDROW._Country,NEWROW._Country); END IF; IF NEWROW._PostCode <> OLDROW._PostCode THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_PostCode'',OLDROW._PostCode,NEWROW._PostCode); END IF; IF NEWROW._Notes <> OLDROW._Notes THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo, _Field, _Before, _After) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName,''_Notes'',OLDROW._Notes,NEWROW._Notes); END IF; ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo) VALUES(''Sites'', BatchNo,''Change'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "SitesAfterInsert" AFTER INSERT ON "Sites" BEGIN DECLARE CompanyName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Companies SENSITIVE CURSOR FOR CompanyDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE CompanyDB FROM ''SELECT _Name FROM Companies WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Companies USING NEWROW._fkCompanies; FETCH FROM Companies(_Name) INTO CompanyName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_fkCompanies'',NEWROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_SiteID'',NEWROW._SiteID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Switchboard'',NEWROW._Switchboard); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Fax'',NEWROW._Fax); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Address1'',NEWROW._Address1); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Address2'',NEWROW._Address2); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Town'',NEWROW._Town); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_County'',NEWROW._County); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Country'',NEWROW._Country); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_PostCode'',NEWROW._PostCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _After) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies, NEWROW._SiteID,CompanyName,''_Notes'',NEWROW._Notes); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1,_Key2, _NameInfo) VALUES(''Sites'', BatchNo,''Insert'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,NEWROW._fkCompanies,NEWROW._SiteID,CompanyName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "SitesAfterDelete" AFTER DELETE ON "Sites" BEGIN DECLARE CompanyName VARCHAR; DECLARE ShortName VARCHAR; DECLARE LongName VARCHAR; DECLARE LogLevel VARCHAR; DECLARE Logging SENSITIVE CURSOR FOR LogTbl; DECLARE Naming SENSITIVE CURSOR FOR Names; DECLARE Config SENSITIVE CURSOR FOR ConfigParams; DECLARE BatchNo GUID; DECLARE Companies SENSITIVE CURSOR FOR CompanyDB; PREPARE ConfigParams FROM ''SELECT CAST(_ParamData AS VARCHAR(5) ) AS Level FROM Config WHERE _ID = ''''alCompanies''''''; OPEN Config; FETCH FROM Config(Level) INTO LogLevel; IF LogLevel <> ''None'' THEN SET BatchNo = CURRENT_GUID; PREPARE LogTbl FROM ''SELECT * FROM TfRLog''; PREPARE Names FROM ''SELECT Name AS ShortName, CAST(Description AS VARCHAR(30)) AS LongName FROM Configuration.Users WHERE Name = ?''; PREPARE CompanyDB FROM ''SELECT _Name FROM Companies WHERE _ID = ?''; OPEN Naming USING CURRENT_USER; FETCH FROM Naming(ShortName) INTO ShortName; FETCH FROM Naming(LongName) INTO LongName; OPEN Companies USING OLDROW._fkCompanies; FETCH FROM Companies(_Name) INTO CompanyName; OPEN Logging; IF LogLevel = ''Field'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_fkCompanies'',OLDROW._fkCompanies); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_SiteID'',OLDROW._SiteID); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Switchboard'',OLDROW._Switchboard); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Fax'',OLDROW._Fax); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Address1'',OLDROW._Address1); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Address2'',OLDROW._Address2); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Town'',OLDROW._Town); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_County'',OLDROW._County); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Country'',OLDROW._Country); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_PostCode'',OLDROW._PostCode); INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo, _Field, _Before) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies, OLDROW._SiteID,CompanyName,''_Notes'',OLDROW._Notes); ELSEIF LogLevel = ''Table'' THEN INSERT INTO Logging(_Table, _Batch, _Type, _Level, _TimeStamp, _fkStaff, _UserName, _Key1, _Key2, _NameInfo) VALUES(''Sites'', BatchNo,''Delete'',LogLevel,CURRENT_TIMESTAMP, ShortName, LongName,OLDROW._fkCompanies,OLDROW._SiteID,CompanyName); END IF; END IF; END '; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatNewPhoneNumbers" BEFORE INSERT ON "Sites" BEGIN IF NOT NEWROW._Switchboard IS NULL THEN IF REPLACE('' '','''',NEWROW._Switchboard) = '''' THEN SET NEWROW._Switchboard = NULL; ELSE SET NEWROW._Switchboard = FormatPhoneNo(NEWROW._Switchboard); END IF; END IF; IF NOT NEWROW._Fax IS NULL THEN IF REPLACE('' '','''',NEWROW._Fax) = '''' THEN SET NEWROW._Fax = NULL; ELSE SET NEWROW._Fax = FormatPhoneNo(NEWROW._Fax); END IF; END IF; END'; EXECUTE IMMEDIATE 'CREATE TRIGGER "FormatPhoneNumbers" BEFORE UPDATE OF "_Switchboard", "_Fax" ON "Sites" BEGIN IF NOT NEWROW._Switchboard IS NULL THEN IF REPLACE('' '','''',NEWROW._Switchboard) = '''' THEN SET NEWROW._Switchboard = NULL; ELSE SET NEWROW._Switchboard = FormatPhoneNo(NEWROW._Switchboard); END IF; END IF; IF NOT NEWROW._Fax IS NULL THEN IF REPLACE('' '','''',NEWROW._Fax) = '''' THEN SET NEWROW._Fax = NULL; ELSE SET NEWROW._Fax = FormatPhoneNo(NEWROW._Fax); END IF; END IF; END'; -- Creating indexes for Sites table EXECUTE IMMEDIATE 'CREATE INDEX "Town" ON "Sites" ("_Town" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "County" ON "Sites" ("_County" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Country" ON "Sites" ("_Country" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Switchboard" ON "Sites" ("_Switchboard" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "SiteID" ON "Sites" ("_SiteID")'; -- Creating indexes for SpamStore table EXECUTE IMMEDIATE 'CREATE INDEX "TimeStamp" ON "SpamStore" ("_TimeStamp")'; -- Creating indexes for Staff table EXECUTE IMMEDIATE 'CREATE INDEX "Name" ON "Staff" ("_Name" COLLATE "ANSI_CI")'; -- Creating indexes for Templates table EXECUTE IMMEDIATE 'CREATE INDEX "Group" ON "Templates" ("_Group" COLLATE "ANSI_CI")'; -- Creating indexes for TfRLog table EXECUTE IMMEDIATE 'CREATE INDEX "Table" ON "TfRLog" ("_Table" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Timestamp" ON "TfRLog" ("_Timestamp")'; EXECUTE IMMEDIATE 'CREATE INDEX "UserID" ON "TfRLog" ("_fkStaff" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Batch" ON "TfRLog" ("_Batch" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Field" ON "TfRLog" ("_Field" COLLATE "ANSI_CI")'; -- Creating indexes for UserStats table EXECUTE IMMEDIATE 'CREATE INDEX "Date" ON "UserStats" ("_Date")'; -- Creating indexes for elnArchive table EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Flags" ON "elnArchive" ("_Flags" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Message" ON "elnArchive" ("_Message" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 FILTER TYPE COLUMN "_DisplayFormat" WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Subject" ON "elnArchive" ("_Subject" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; EXECUTE IMMEDIATE 'CREATE TEXT INDEX "fti_Comments" ON "elnArchive" ("_Comments" COLLATE "ANSI_CI") INDEXED WORD LENGTH 30 WORD GENERATOR "Default"'; -- Creating indexes for TfRLogArchive table EXECUTE IMMEDIATE 'CREATE INDEX "Table" ON "TfRLogArchive" ("_Table" COLLATE "ANSI_CI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Timestamp" ON "TfRLogArchive" ("_Timestamp")'; EXECUTE IMMEDIATE 'CREATE INDEX "UserID" ON "TfRLogArchive" ("_fkStaff" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Batch" ON "TfRLogArchive" ("_Batch" COLLATE "ANSI")'; EXECUTE IMMEDIATE 'CREATE INDEX "Field" ON "TfRLogArchive" ("_Field" COLLATE "ANSI_CI")'; -- Creating non-foreign key constraints for Attributes table EXECUTE IMMEDIATE 'ALTER TABLE "Attributes" ADD CONSTRAINT "PK" PRIMARY KEY ("_Attribute")'; -- Creating non-foreign key constraints for Bayesian table EXECUTE IMMEDIATE 'ALTER TABLE "Bayesian" ADD CONSTRAINT "PK" PRIMARY KEY ("_Token")'; -- Creating non-foreign key constraints for CallMenu table EXECUTE IMMEDIATE 'ALTER TABLE "CallMenu" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Calls table EXECUTE IMMEDIATE 'ALTER TABLE "Calls" ADD CONSTRAINT "PK" PRIMARY KEY ("_CallID"), ADD CONSTRAINT "KeepUnique" UNIQUE ("_fkProjects", "_fkContacts", "_fkCompanies", "_fkSites")'; -- Creating non-foreign key constraints for CallStats table EXECUTE IMMEDIATE 'ALTER TABLE "CallStats" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Career table EXECUTE IMMEDIATE 'ALTER TABLE "Career" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for ColourSchemes table EXECUTE IMMEDIATE 'ALTER TABLE "ColourSchemes" ADD CONSTRAINT "PrimaryKey" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Companies table EXECUTE IMMEDIATE 'ALTER TABLE "Companies" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Config table EXECUTE IMMEDIATE 'ALTER TABLE "Config" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Connections table EXECUTE IMMEDIATE 'ALTER TABLE "Connections" ADD CONSTRAINT "PK" PRIMARY KEY ("_Connection")'; -- Creating non-foreign key constraints for Contacts table EXECUTE IMMEDIATE 'ALTER TABLE "Contacts" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for DialControl table EXECUTE IMMEDIATE 'ALTER TABLE "DialControl" ADD CONSTRAINT "PK" PRIMARY KEY ("_PhoneNo"), ADD CONSTRAINT "ID" UNIQUE ("_ID")'; -- Creating non-foreign key constraints for Diary table EXECUTE IMMEDIATE 'ALTER TABLE "Diary" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for ELN table EXECUTE IMMEDIATE 'ALTER TABLE "ELN" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for emAddress table EXECUTE IMMEDIATE 'ALTER TABLE "emAddress" ADD CONSTRAINT "PK" PRIMARY KEY ("_EMail")'; -- Creating non-foreign key constraints for EMails table EXECUTE IMMEDIATE 'ALTER TABLE "EMails" ADD CONSTRAINT "PK" PRIMARY KEY ("_MsgNo")'; -- Creating non-foreign key constraints for emArchive table EXECUTE IMMEDIATE 'ALTER TABLE "emArchive" ADD CONSTRAINT "PK" PRIMARY KEY ("_MsgNo")'; -- Creating non-foreign key constraints for emBadWords table EXECUTE IMMEDIATE 'ALTER TABLE "emBadWords" ADD CONSTRAINT "PK" PRIMARY KEY ("_BadWord")'; -- Creating non-foreign key constraints for emBlacklist table EXECUTE IMMEDIATE 'ALTER TABLE "emBlacklist" ADD CONSTRAINT "PK" PRIMARY KEY ("_Blacklisted")'; -- Creating non-foreign key constraints for emLog table EXECUTE IMMEDIATE 'ALTER TABLE "emLog" ADD CONSTRAINT "PK" PRIMARY KEY ("_Counter")'; -- Creating non-foreign key constraints for emLogArchive table EXECUTE IMMEDIATE 'ALTER TABLE "emLogArchive" ADD CONSTRAINT "PK" PRIMARY KEY ("_Counter")'; -- Creating non-foreign key constraints for emReadStatus table EXECUTE IMMEDIATE 'ALTER TABLE "emReadStatus" ADD CONSTRAINT "PK" PRIMARY KEY ("_fkEMails", "_fkStaff")'; -- Creating non-foreign key constraints for EMSearches table EXECUTE IMMEDIATE 'ALTER TABLE "EMSearches" ADD CONSTRAINT "PrimaryKey" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for EMSearchResults table EXECUTE IMMEDIATE 'ALTER TABLE "EMSearchResults" ADD CONSTRAINT "PrimaryKey" PRIMARY KEY ("_fkEMSearches", "_fkEMails")'; -- Creating non-foreign key constraints for emStats table EXECUTE IMMEDIATE 'ALTER TABLE "emStats" ADD CONSTRAINT "PK" PRIMARY KEY ("_Date")'; -- Creating non-foreign key constraints for eShots table EXECUTE IMMEDIATE 'ALTER TABLE "eShots" ADD CONSTRAINT "PK" PRIMARY KEY ("_eShot")'; -- Creating non-foreign key constraints for Flags table EXECUTE IMMEDIATE 'ALTER TABLE "Flags" ADD CONSTRAINT "PK" PRIMARY KEY ("_Flag")'; -- Creating non-foreign key constraints for Introductions table EXECUTE IMMEDIATE 'ALTER TABLE "Introductions" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Invoices table EXECUTE IMMEDIATE 'ALTER TABLE "Invoices" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for JobCodes table EXECUTE IMMEDIATE 'ALTER TABLE "JobCodes" ADD CONSTRAINT "PK" PRIMARY KEY ("_JobCode")'; -- Creating non-foreign key constraints for Locks table EXECUTE IMMEDIATE 'ALTER TABLE "Locks" ADD CONSTRAINT "PrimaryKey" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for MailBoxes table EXECUTE IMMEDIATE 'ALTER TABLE "MailBoxes" ADD CONSTRAINT "PK" PRIMARY KEY ("_BoxNo")'; -- Creating non-foreign key constraints for Markets table EXECUTE IMMEDIATE 'ALTER TABLE "Markets" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for OrderBook table EXECUTE IMMEDIATE 'ALTER TABLE "OrderBook" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for OrgType table EXECUTE IMMEDIATE 'ALTER TABLE "OrgType" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for PopBoxes table EXECUTE IMMEDIATE 'ALTER TABLE "PopBoxes" ADD CONSTRAINT "PK" PRIMARY KEY ("_PopBox")'; -- Creating non-foreign key constraints for Products table EXECUTE IMMEDIATE 'ALTER TABLE "Products" ADD CONSTRAINT "PK" PRIMARY KEY ("_Product")'; -- Creating non-foreign key constraints for Profiles table EXECUTE IMMEDIATE 'ALTER TABLE "Profiles" ADD CONSTRAINT "PK" PRIMARY KEY ("_Profile")'; -- Creating non-foreign key constraints for Projects table EXECUTE IMMEDIATE 'ALTER TABLE "Projects" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID", "_fkStaff")'; -- Creating non-foreign key constraints for ProjectStats table EXECUTE IMMEDIATE 'ALTER TABLE "ProjectStats" ADD CONSTRAINT "PK" PRIMARY KEY ("_fkProjects", "_Date")'; -- Creating non-foreign key constraints for SandT table EXECUTE IMMEDIATE 'ALTER TABLE "SandT" ADD CONSTRAINT "PK" PRIMARY KEY ("_Band")'; -- Creating non-foreign key constraints for Scripts table EXECUTE IMMEDIATE 'ALTER TABLE "Scripts" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for SICCode table EXECUTE IMMEDIATE 'ALTER TABLE "SICCode" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for SICGroup table EXECUTE IMMEDIATE 'ALTER TABLE "SICGroup" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for Sites table EXECUTE IMMEDIATE 'ALTER TABLE "Sites" ADD CONSTRAINT "PK" PRIMARY KEY ("_fkCompanies", "_SiteID")'; -- Creating non-foreign key constraints for Skillsets table EXECUTE IMMEDIATE 'ALTER TABLE "Skillsets" ADD CONSTRAINT "PK" PRIMARY KEY ("_Skillset")'; -- Creating non-foreign key constraints for SpamStore table EXECUTE IMMEDIATE 'ALTER TABLE "SpamStore" ADD CONSTRAINT "PK" PRIMARY KEY ("_SpamID")'; -- Creating non-foreign key constraints for Staff table EXECUTE IMMEDIATE 'ALTER TABLE "Staff" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for STDCodes table EXECUTE IMMEDIATE 'ALTER TABLE "STDCodes" ADD CONSTRAINT "PK" PRIMARY KEY ("_Code")'; -- Creating non-foreign key constraints for Templates table EXECUTE IMMEDIATE 'ALTER TABLE "Templates" ADD CONSTRAINT "Usage" CHECK (_Usage IN (''E'',''L'',''EL'')), ADD CONSTRAINT "PK" PRIMARY KEY ("_ID"), ADD CONSTRAINT "Name" UNIQUE ("_Name")'; -- Creating non-foreign key constraints for TfRLog table EXECUTE IMMEDIATE 'ALTER TABLE "TfRLog" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for UserStats table EXECUTE IMMEDIATE 'ALTER TABLE "UserStats" ADD CONSTRAINT "PK" PRIMARY KEY ("_fkStaff", "_Date")'; -- Creating non-foreign key constraints for elnArchive table EXECUTE IMMEDIATE 'ALTER TABLE "elnArchive" ADD CONSTRAINT "PK" PRIMARY KEY ("_ID")'; -- Creating non-foreign key constraints for DayBook table EXECUTE IMMEDIATE 'ALTER TABLE "DayBook" ADD CONSTRAINT "PK" PRIMARY KEY ("_fkStaff", "_Slot")'; END /************************************************************ * End of generated SQL ************************************************************/