1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| USE INNO_ADMIN;
GO
CREATE TABLE S_OPERATIONAL.T_PLANIFIED_EMPLOYEE_PEM(
PEM_ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
PEM_CREATED_ON DATETIME2 NOT NULL DEFAULT GETDATE(),
PEM_CREATED_BY VARCHAR(100) NOT NULL DEFAULT SYSTEM_USER
)
GO
CREATE TABLE S_OPERATIONAL.T_REAL_EMPLOYEE_REM(
PEM_ID INT NOT NULL PRIMARY KEY REFERENCES S_OPERATIONAL.T_PLANIFIED_EMPLOYEE_PEM(PEM_ID),
EMP_ID INT NOT NULL UNIQUE REFERENCES S_HR.T_EMPLOYEE_EMP(EMP_ID),
REM_CREATED_ON DATETIME2 NOT NULL DEFAULT GETDATE(),
REM_CREATED_BY VARCHAR(100) NOT NULL DEFAULT SYSTEM_USER
)
GO
CREATE TABLE S_OPERATIONAL.T_FICTITIOUS_EMPLOYEE_FEM(
PEM_ID INT NOT NULL PRIMARY KEY REFERENCES S_OPERATIONAL.T_PLANIFIED_EMPLOYEE_PEM(PEM_ID),
STR_ID TINYINT NOT NULL REFERENCES dbo.T_STORE_STR(STR_ID),
FEM_CREATED_ON DATETIME2 NOT NULL DEFAULT GETDATE(),
FEM_CREATED_BY VARCHAR(100) NOT NULL DEFAULT SYSTEM_USER
)
GO
CREATE TRIGGER TRG_INS_T_REAL_EMPLOYEE_REM
ON S_OPERATIONAL.T_REAL_EMPLOYEE_REM
FOR INSERT, UPDATE
AS
BEGIN
DECLARE
@ERRNO INT,
@ERRMSG VARCHAR(255)
/* LA CLEF DE T_PLANIFIED_EMPLOYEE_PEM DOIT EXISTER POUR L'INSERTION DANS T_REAL_EMPLOYEE_REM */
IF NOT EXISTS( SELECT *
FROM S_OPERATIONAL.T_PLANIFIED_EMPLOYEE_PEM PEM
INNER JOIN INSERTED INS
ON PEM.PEM_ID = INS.PEM_ID)
BEGIN
SET @ERRNO = 30002
SET @ERRMSG = 'Clef de T_PLANIFIED_EMPLOYEE_PEM inconnue. Insertion dans T_REAL_EMPLOYEE_REM impossible.'
GOTO LBL_ERROR
END
/*GESTION D'ERREURS*/
LBL_ERROR:
RAISERROR @ERRNO @ERRMSG
ROLLBACK TRANSACTION
END
GO
CREATE TRIGGER TRG_INS_T_FICTITIOUS_EMPLOYEE_FEM
ON S_OPERATIONAL.T_FICTITIOUS_EMPLOYEE_FEM
FOR INSERT, UPDATE
AS
BEGIN
DECLARE
@ERRNO INT,
@ERRMSG VARCHAR(255)
/* LA CLEF DE T_PLANIFIED_EMPLOYEE_PEM DOIT EXISTER POUR L'INSERTION DANS T_FICTITIOUS_EMPLOYEE_FEM */
IF NOT EXISTS( SELECT *
FROM S_OPERATIONAL.T_PLANIFIED_EMPLOYEE_PEM PEM
INNER JOIN INSERTED INS
ON PEM.PEM_ID = INS.PEM_ID)
BEGIN
SET @ERRNO = 30002
SET @ERRMSG = 'Clef de T_PLANIFIED_EMPLOYEE_PEM inconnue. Insertion dans T_FICTITIOUS_EMPLOYEE_FEM impossible.'
GOTO LBL_ERROR
END
/*GESTION D'ERREURS*/
LBL_ERROR:
RAISERROR @ERRNO @ERRMSG
ROLLBACK TRANSACTION
END |
Partager