Index: Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql =================================================================== diff -u -rcdfce95c2082bd20d00cc92bd2828f73aad3a15a -r4345b64ca8737c30968fbde60e330d6f2cb8ac67 --- Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql (.../DatabaseStructure17.3.sql) (revision cdfce95c2082bd20d00cc92bd2828f73aad3a15a) +++ Application/Ringtoets/src/Application.Ringtoets.Migration.Core/EmbeddedResources/DatabaseStructure17.3.sql (.../DatabaseStructure17.3.sql) (revision 4345b64ca8737c30968fbde60e330d6f2cb8ac67) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ -/* Created On : 21-Nov-2017 08:50:44 */ +/* Created On : 16-Nov-2017 12:03:12 */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -294,9 +294,6 @@ DROP TABLE IF EXISTS 'MacroStabilityInwardsSoilProfileTwoDSoilLayerTwoDEntity' ; -DROP TABLE IF EXISTS 'HydraRingPreprocessorEntity' -; - /* Create Tables with Primary and Foreign Keys, Check and Unique Constraints */ CREATE TABLE 'VersionEntity' @@ -1736,7 +1733,7 @@ 'LocationInputDailyPhreaticLineOffsetBelowShoulderBaseInside' REAL, 'LocationInputDailyPhreaticLineOffsetDikeToeAtPolder' REAL, 'CreateZones' TINYINT (1) NOT NULL, -- true or false - 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic 2 = Manual + 'ZoningBoundariesDeterminationType' TINYINT (1) NOT NULL, -- Enumtype: 1 = Automatic, 2 = Manual 'ZoneBoundaryLeft' REAL, 'ZoneBoundaryRight' REAL, CONSTRAINT 'FK_MacroStabilityInwardsCalculationEntity_CalculationGroupEntity' FOREIGN KEY ('CalculationGroupEntityId') REFERENCES 'CalculationGroupEntity' ('CalculationGroupEntityId') ON DELETE Cascade ON UPDATE Cascade, @@ -1930,16 +1927,6 @@ ) ; -CREATE TABLE 'HydraRingPreprocessorEntity' -( - 'HydraRingPreprocessorEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, - 'AssessmentSectionEntityId' INTEGER NOT NULL, - 'UsePreprocessor' TINYINT (1) NOT NULL, - 'PreprocessorDirectory' TEXT NOT NULL, - CONSTRAINT 'FK_HydraRingPreprocessorEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade -) -; - /* Create Indexes and Triggers */ CREATE INDEX 'IXFK_GrassCoverErosionInwardsDikeHeightOutputEntity_GeneralResultFaultTreeIllustrationPointEntity' @@ -1949,15 +1936,15 @@ CREATE INDEX 'IXFK_GrassCoverErosionInwardsDikeHeightOutputEntity_GrassCoverErosionInwardsOutputEntity' ON 'GrassCoverErosionInwardsDikeHeightOutputEntity' ('GrassCoverErosionInwardsOutputEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsDikeHeightOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON GrassCoverErosionInwardsDikeHeightOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsDikeHeightOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionInwardsDikeHeightOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2196,15 +2183,15 @@ CREATE INDEX 'IXFK_GrassCoverErosionInwardsOutputEntity_GrassCoverErosionInwardsCalculationEntity' ON 'GrassCoverErosionInwardsOutputEntity' ('GrassCoverErosionInwardsCalculationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON GrassCoverErosionInwardsOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionInwardsOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2267,15 +2254,15 @@ CREATE INDEX 'IXFK_HeightStructuresOutputEntity_HeightStructuresCalculationEntity' ON 'HeightStructuresOutputEntity' ('HeightStructuresCalculationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteHeightStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON HeightStructuresOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteHeightStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON HeightStructuresOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2322,15 +2309,15 @@ CREATE INDEX 'IXFK_ClosingStructuresOutputEntity_ClosingStructuresCalculationEntity' ON 'ClosingStructuresOutputEntity' ('ClosingStructuresCalculationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteClosingStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON ClosingStructuresOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteClosingStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON ClosingStructuresOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2341,15 +2328,15 @@ CREATE INDEX 'IXFK_StabilityPointStructuresOutputEntity_StabilityPointStructuresCalculationEntity' ON 'StabilityPointStructuresOutputEntity' ('StabilityPointStructuresCalculationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteStabilityPointStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON StabilityPointStructuresOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteStabilityPointStructuresOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON StabilityPointStructuresOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2360,15 +2347,15 @@ CREATE INDEX 'IXFK_HydraulicLocationOutputEntity_HydraulicLocationEntity' ON 'HydraulicLocationOutputEntity' ('HydraulicLocationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] - AFTER DELETE - ON HydraulicLocationOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultSubMechanismIllustrationPointEntity - WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL - AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] + AFTER DELETE + ON HydraulicLocationOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultSubMechanismIllustrationPointEntity + WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL + AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; END; ; @@ -2379,15 +2366,15 @@ CREATE INDEX 'IXFK_GrassCoverErosionOutwardsHydraulicLocationOutputEntity_GrassCoverErosionOutwardsHydraulicLocationEntity' ON 'GrassCoverErosionOutwardsHydraulicLocationOutputEntity' ('GrassCoverErosionOutwardsHydraulicLocationEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] - AFTER DELETE - ON GrassCoverErosionOutwardsHydraulicLocationOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultSubMechanismIllustrationPointEntity - WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL - AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionOutwardsHydraulicLocationOutputEntity_RemoveGeneralResultSubMechanismIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionOutwardsHydraulicLocationOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultSubMechanismIllustrationPointEntity + WHERE OLD.GeneralResultSubMechanismIllustrationPointEntityId IS NOT NULL + AND GeneralResultSubMechanismIllustrationPointEntityId IS OLD.GeneralResultSubMechanismIllustrationPointEntityId; END; ; @@ -2414,15 +2401,15 @@ CREATE INDEX 'IXFK_GrassCoverErosionInwardsOvertoppingRateOutputEntity_GrassCoverErosionInwardsOutputEntity' ON 'GrassCoverErosionInwardsOvertoppingRateOutputEntity' ('GrassCoverErosionInwardsOutputEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOvertoppingRateOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] - AFTER DELETE - ON GrassCoverErosionInwardsOvertoppingRateOutputEntity - FOR EACH ROW -BEGIN - DELETE - FROM GeneralResultFaultTreeIllustrationPointEntity - WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL - AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteGrassCoverErosionInwardsOvertoppingRateOutputEntity_RemoveGeneralResultFaultTreeIllustrationPointEntity] + AFTER DELETE + ON GrassCoverErosionInwardsOvertoppingRateOutputEntity + FOR EACH ROW +BEGIN + DELETE + FROM GeneralResultFaultTreeIllustrationPointEntity + WHERE OLD.GeneralResultFaultTreeIllustrationPointEntityId IS NOT NULL + AND GeneralResultFaultTreeIllustrationPointEntityId IS OLD.GeneralResultFaultTreeIllustrationPointEntityId; END; ; @@ -2437,15 +2424,15 @@ CREATE INDEX 'IXFK_GeneralResultSubMechanismIllustrationPointStochastEntity_StochastEntity' ON 'GeneralResultSubMechanismIllustrationPointStochastEntity' ('StochastEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGeneralResultSubMechanismIllustrationPointStochastEntity_RemoveStochastEntity] - AFTER DELETE - ON GeneralResultSubMechanismIllustrationPointStochastEntity - FOR EACH ROW -BEGIN - DELETE - FROM StochastEntity - WHERE OLD.StochastEntityId IS NOT NULL - AND StochastEntityId IS OLD.StochastEntityId; +CREATE TRIGGER [TR_AfterDeleteGeneralResultSubMechanismIllustrationPointStochastEntity_RemoveStochastEntity] + AFTER DELETE + ON GeneralResultSubMechanismIllustrationPointStochastEntity + FOR EACH ROW +BEGIN + DELETE + FROM StochastEntity + WHERE OLD.StochastEntityId IS NOT NULL + AND StochastEntityId IS OLD.StochastEntityId; END; ; @@ -2460,15 +2447,15 @@ CREATE INDEX 'IXFK_FaultTreeIllustrationPointStochastEntity_StochastEntity' ON 'FaultTreeIllustrationPointStochastEntity' ('StochastEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity] - AFTER DELETE - ON FaultTreeIllustrationPointStochastEntity - FOR EACH ROW -BEGIN - DELETE - FROM StochastEntity - WHERE OLD.StochastEntityId IS NOT NULL - AND StochastEntityId IS OLD.StochastEntityId; +CREATE TRIGGER [TR_AfterDeleteFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity] + AFTER DELETE + ON FaultTreeIllustrationPointStochastEntity + FOR EACH ROW +BEGIN + DELETE + FROM StochastEntity + WHERE OLD.StochastEntityId IS NOT NULL + AND StochastEntityId IS OLD.StochastEntityId; END; ; @@ -2479,15 +2466,15 @@ CREATE INDEX 'IXFK_GeneralResultFaultTreeIllustrationPointStochastEntity_StochastEntity' ON 'GeneralResultFaultTreeIllustrationPointStochastEntity' ('StochastEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteGeneralResultFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity] - AFTER DELETE - ON GeneralResultFaultTreeIllustrationPointStochastEntity - FOR EACH ROW -BEGIN - DELETE - FROM StochastEntity - WHERE OLD.StochastEntityId IS NOT NULL - AND StochastEntityId IS OLD.StochastEntityId; +CREATE TRIGGER [TR_AfterDeleteGeneralResultFaultTreeIllustrationPointStochastEntity_RemoveStochastEntity] + AFTER DELETE + ON GeneralResultFaultTreeIllustrationPointStochastEntity + FOR EACH ROW +BEGIN + DELETE + FROM StochastEntity + WHERE OLD.StochastEntityId IS NOT NULL + AND StochastEntityId IS OLD.StochastEntityId; END; ; @@ -2498,15 +2485,15 @@ CREATE INDEX 'IXFK_TopLevelSubMechanismIllustrationPointEntity_SubMechanismIllustrationPointEntity' ON 'TopLevelSubMechanismIllustrationPointEntity' ('SubMechanismIllustrationPointEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteTopLevelSubMechanismIllustrationPointEntity_RemoveSubMechanismIllustrationPointEntity] - AFTER DELETE - ON TopLevelSubMechanismIllustrationPointEntity - FOR EACH ROW -BEGIN - DELETE - FROM SubMechanismIllustrationPointEntity - WHERE OLD.SubMechanismIllustrationPointEntityId IS NOT NULL - AND SubMechanismIllustrationPointEntityId IS OLD.SubMechanismIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteTopLevelSubMechanismIllustrationPointEntity_RemoveSubMechanismIllustrationPointEntity] + AFTER DELETE + ON TopLevelSubMechanismIllustrationPointEntity + FOR EACH ROW +BEGIN + DELETE + FROM SubMechanismIllustrationPointEntity + WHERE OLD.SubMechanismIllustrationPointEntityId IS NOT NULL + AND SubMechanismIllustrationPointEntityId IS OLD.SubMechanismIllustrationPointEntityId; END; ; @@ -2517,15 +2504,15 @@ CREATE INDEX 'IXFK_TopLevelFaultTreeIllustrationPointEntity_GeneralResultFaultTreeIllustrationPointEntity' ON 'TopLevelFaultTreeIllustrationPointEntity' ('GeneralResultFaultTreeIllustrationPointEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteTopLevelFaultTreeIllustrationPointEntity_RemoveFaultTreeIllustrationPointEntity] - AFTER DELETE - ON TopLevelFaultTreeIllustrationPointEntity - FOR EACH ROW -BEGIN - DELETE - FROM FaultTreeIllustrationPointEntity - WHERE OLD.FaultTreeIllustrationPointEntityId IS NOT NULL - AND FaultTreeIllustrationPointEntityId IS OLD.FaultTreeIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteTopLevelFaultTreeIllustrationPointEntity_RemoveFaultTreeIllustrationPointEntity] + AFTER DELETE + ON TopLevelFaultTreeIllustrationPointEntity + FOR EACH ROW +BEGIN + DELETE + FROM FaultTreeIllustrationPointEntity + WHERE OLD.FaultTreeIllustrationPointEntityId IS NOT NULL + AND FaultTreeIllustrationPointEntityId IS OLD.FaultTreeIllustrationPointEntityId; END; ; @@ -2540,15 +2527,15 @@ CREATE INDEX 'IXFK_FaultTreeIllustrationPointEntity_SubMechanismIllustrationPointEntity' ON 'FaultTreeSubmechanismIllustrationPointEntity' ('SubMechanismIllustrationPointEntityId' ASC) ; -CREATE TRIGGER [TR_AfterDeleteFaultTreeSubmechanismIllustrationPointEntity_RemoveSubmechanismIllustrationPointEntity] - AFTER DELETE - ON FaultTreeSubmechanismIllustrationPointEntity - FOR EACH ROW -BEGIN - DELETE - FROM SubmechanismIllustrationPointEntity - WHERE OLD.SubmechanismIllustrationPointEntityId IS NOT NULL - AND SubmechanismIllustrationPointEntityId IS OLD.SubmechanismIllustrationPointEntityId; +CREATE TRIGGER [TR_AfterDeleteFaultTreeSubmechanismIllustrationPointEntity_RemoveSubmechanismIllustrationPointEntity] + AFTER DELETE + ON FaultTreeSubmechanismIllustrationPointEntity + FOR EACH ROW +BEGIN + DELETE + FROM SubmechanismIllustrationPointEntity + WHERE OLD.SubmechanismIllustrationPointEntityId IS NOT NULL + AND SubmechanismIllustrationPointEntityId IS OLD.SubmechanismIllustrationPointEntityId; END; ; @@ -2579,54 +2566,50 @@ CREATE INDEX 'IXFK_MacroStabilityInwardsStochasticSoilProfileEntity_StochasticSoilModelEntity' ON 'MacroStabilityInwardsStochasticSoilProfileEntity' ('StochasticSoilModelEntityId' ASC) ; -CREATE TRIGGER [TR_BeforeInsertMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD] - BEFORE INSERT - ON MacroStabilityInwardsStochasticSoilProfileEntity - FOR EACH ROW -BEGIN - SELECT - CASE - WHEN - ( - NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL - ) OR ( - NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL - ) - THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.') - END; +CREATE TRIGGER [TR_BeforeInsertMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD] + BEFORE INSERT + ON MacroStabilityInwardsStochasticSoilProfileEntity + FOR EACH ROW +BEGIN + SELECT + CASE + WHEN + ( + NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL + ) OR ( + NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL + ) + THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.') + END; END; ; -CREATE TRIGGER [TR_BeforeUpdateMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD] - BEFORE UPDATE - ON MacroStabilityInwardsStochasticSoilProfileEntity - FOR EACH ROW -BEGIN - SELECT - CASE - WHEN - ( - NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL - ) OR ( - NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL - ) - THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.') - END; +CREATE TRIGGER [TR_BeforeUpdateMacroStabilityInwardsStochasticSoilProfileEntity_MustHaveOneDOrTwoD] + BEFORE UPDATE + ON MacroStabilityInwardsStochasticSoilProfileEntity + FOR EACH ROW +BEGIN + SELECT + CASE + WHEN + ( + NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NULL + ) OR ( + NEW.MacroStabilityInwardsSoilProfileOneDEntityId IS NOT NULL AND NEW.MacroStabilityInwardsSoilProfileTwoDEntityId IS NOT NULL + ) + THEN RAISE(FAIL, 'Either SoilProfile1D or SoilProfile2D must be set.') + END; END; ; -CREATE TRIGGER [TR_AfterDeleteMacroStabilityInwardsSoilProfileTwoDEntity_MacroStabilityInwardsSoilLayerTwoDEntity] - AFTER DELETE - ON MacroStabilityInwardsSoilProfileTwoDEntity - FOR EACH ROW -BEGIN - DELETE - FROM MacroStabilityInwardsSoilLayerTwoDEntity - WHERE OLD.MacroStabilityInwardsSoilLayerTwoDEntity IS NOT NULL - AND MacroStabilityInwardsSoilLayerTwoDEntity IS OLD.MacroStabilityInwardsSoilLayerTwoDEntity; +CREATE TRIGGER [TR_AfterDeleteMacroStabilityInwardsSoilProfileTwoDEntity_MacroStabilityInwardsSoilLayerTwoDEntity] + AFTER DELETE + ON MacroStabilityInwardsSoilProfileTwoDEntity + FOR EACH ROW +BEGIN + DELETE + FROM MacroStabilityInwardsSoilLayerTwoDEntity + WHERE OLD.MacroStabilityInwardsSoilLayerTwoDEntity IS NOT NULL + AND MacroStabilityInwardsSoilLayerTwoDEntity IS OLD.MacroStabilityInwardsSoilLayerTwoDEntity; END; ; - -CREATE INDEX 'IXFK_HydraRingPreprocessorEntity_AssessmentSectionEntity' - ON 'HydraRingPreprocessorEntity' ('AssessmentSectionEntityId' ASC) -;