====== pears.MasterRosterShift ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Description =====
Detail records for Master Rosters
===== Columns =====
^ Column ^ Type ^ Null ^ Default ^ Comment ^
| **MasterRosterShiftID** | char(20) | NOT NULL | | |
| MasterRosterID | char(20) | NOT NULL | | |
| Description | char(50) | NOT NULL | | |
| NextDate | date | NOT NULL | | |
| FinalDate | date | NULL | | |
| ShiftStartDate | date | NULL | | |
| EssentialSkill | char(15) | NULL | | P|A;TagID;TagChoiceID;GradeTagID |
| EssentialSkillGradeID | char(4) | NULL | | |
| EssentialSkillChoiceList | char(100) | NULL | | |
| TimeFrom | time | NULL | | |
| TimeTo | time | NULL | | |
| Moveable | smallint | NULL | 0 | |
| Minutes | smallint | NULL | | Fill if shorter spell within the timespan |
| BreakMinutes | smallint | NULL | | |
| ReferenceRequired | char(1) | NULL | | on ntry, onfirmation, imesheet entry. Blank for not required |
| ClientMustConfirm | smallint | NULL | 0 | |
| TempMustConfirm | smallint | NULL | 0 | |
| TempShiftTypeID | char(2) | NULL | | |
| AnalysisCode | char(20) | NULL | | |
| RecoveryHours | smallint | NULL | 0 | |
| ClientNote | char(50) | NULL | | |
| TempShiftTemplateID | char(20) | NULL | | |
| DefaultPersonID | char(20) | NULL | | |
| MasterRosterChangeLogID | char(20) | NULL | | |
| ReferenceCode | char(20) | NULL | | |
===== Primary Key =====
* MasterRosterShiftID
===== Foreign Keys =====
^ Constraint ^ Columns ^ References ^ Delete/update action ^
| MasterRoster | MasterRosterID | [[database:tables:pears_masterroster|pears.MasterRoster (MasterRosterID)]] | NOT NULL; ON DELETE CASCADE |
| TempShiftType | TempShiftTypeID | [[database:tables:pears_tempshifttype|pears.TempShiftType (TempShiftTypeID)]] | |
| TempShiftTemplate | TempShiftTemplateID | [[database:tables:pears_tempshifttemplate|pears.TempShiftTemplate (TempShiftTemplateID)]] | |
| Person | DefaultPersonID | [[database:tables:pears_person|pears.Person (personid)]] | |
| MasterRosterChangeLog | MasterRosterChangeLogID | [[database:tables:pears_masterrosterchangelog|pears.MasterRosterChangeLog (MasterRosterChangeLogID)]] | ON DELETE CASCADE |
===== Referenced By =====
^ Table ^ Constraint ^ Columns ^ Referenced columns ^
| [[database:tables:pears_masterrosterchangelog|pears.MasterRosterChangeLog]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID |
| [[database:tables:pears_masterrosterfaillog|pears.MasterRosterFailLog]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID |
| [[database:tables:pears_masterrostershiftinstance|pears.MasterRosterShiftInstance]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID |
| [[database:tables:pears_tempshiftplan|pears.TempShiftPlan]] | MasterRosterShift | MasterRosterShiftID | MasterRosterShiftID |
===== Indexes =====
* No indexes found.
===== Triggers =====
^ Name ^ Timing ^ Event ^
| MasterRosterShift_Insert | before | insert order 1 |
===== Original SQL =====
-- IQX database structure split by table
-- Source: IQXDatabaseStructure - with comments.sql
-- Table: "pears"."MasterRosterShift"
-- Table comment: Detail records for Master Rosters
-- Statement count: 12
CREATE TABLE "pears"."MasterRosterShift" (
"MasterRosterShiftID" char(20) NOT NULL
,"MasterRosterID" char(20) NOT NULL
,"Description" char(50) NOT NULL
,"NextDate" date NOT NULL
,"FinalDate" date NULL
,"ShiftStartDate" date NULL
,"EssentialSkill" char(15) NULL
,"EssentialSkillGradeID" char(4) NULL
,"EssentialSkillChoiceList" char(100) NULL
,"TimeFrom" time NULL
,"TimeTo" time NULL
,"Moveable" smallint NULL DEFAULT 0
,"Minutes" smallint NULL
,"BreakMinutes" smallint NULL
,"ReferenceRequired" char(1) NULL
,"ClientMustConfirm" smallint NULL DEFAULT 0
,"TempMustConfirm" smallint NULL DEFAULT 0
,"TempShiftTypeID" char(2) NULL
,"AnalysisCode" char(20) NULL
,"RecoveryHours" smallint NULL DEFAULT 0
,"ClientNote" char(50) NULL
,"TempShiftTemplateID" char(20) NULL
,"DefaultPersonID" char(20) NULL
,"MasterRosterChangeLogID" char(20) NULL
,"ReferenceCode" char(20) NULL
,PRIMARY KEY ("MasterRosterShiftID" ASC)
)
go
COMMENT ON COLUMN "pears"."MasterRosterShift"."EssentialSkill" IS
'P|A;TagID;TagChoiceID;GradeTagID'
go
COMMENT ON COLUMN "pears"."MasterRosterShift"."Minutes" IS
'Fill if shorter spell within the timespan'
go
COMMENT ON COLUMN "pears"."MasterRosterShift"."ReferenceRequired" IS
'on ntry, onfirmation, imesheet entry. Blank for not required'
go
COMMENT ON TABLE "pears"."MasterRosterShift" IS
'Detail records for Master Rosters'
go
ALTER TABLE "pears"."MasterRosterShift"
ADD NOT NULL FOREIGN KEY "MasterRoster" ("MasterRosterID" ASC)
REFERENCES "pears"."MasterRoster" ("MasterRosterID")
ON DELETE CASCADE
go
ALTER TABLE "pears"."MasterRosterShift"
ADD FOREIGN KEY "TempShiftType" ("TempShiftTypeID" ASC)
REFERENCES "pears"."TempShiftType" ("TempShiftTypeID")
go
ALTER TABLE "pears"."MasterRosterShift"
ADD FOREIGN KEY "TempShiftTemplate" ("TempShiftTemplateID" ASC)
REFERENCES "pears"."TempShiftTemplate" ("TempShiftTemplateID")
go
ALTER TABLE "pears"."MasterRosterShift"
ADD FOREIGN KEY "Person" ("DefaultPersonID" ASC)
REFERENCES "pears"."Person" ("personid")
go
ALTER TABLE "pears"."MasterRosterShift"
ADD FOREIGN KEY "MasterRosterChangeLog" ("MasterRosterChangeLogID" ASC)
REFERENCES "pears"."MasterRosterChangeLog" ("MasterRosterChangeLogID")
ON DELETE CASCADE
go
create trigger "MasterRosterShift_Insert" before insert order 1 on
"pears"."MasterRosterShift"
referencing new as "new_sh"
for each row
begin
set "new_sh"."shiftstartdate" = "new_sh"."nextdate"
end
go
COMMENT TO PRESERVE FORMAT ON TRIGGER "pears"."MasterRosterShift"."MasterRosterShift_Insert" IS
{create trigger MasterRosterShift_Insert
before insert order 1 on
pears.MasterRosterShift
referencing new as new_sh
for each row
begin
set new_sh.shiftstartdate = new_sh.nextdate
end
}
go