ALTER TABLE TBPMO_RECORD ADD RECORD_ENTITY_ID INTEGER NOT NULL DEFAULT 0 GO ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN TRY DECLARE @RECORD_ID INTEGER, @MAX_ID INTEGER, @FORM_ID INTEGER, @WF_ID INTEGER, @PARENT_ID INTEGER SELECT @FORM_ID = FORM_ID, @RECORD_ID = GUID FROM INSERTED SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID --Überprüfen ob dieser Rec IF EXISTS( SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_ID = @FORM_ID ) BEGIN EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID END --EXEC DBO.PRPMO_CREATE_RECORD_CONNECTIONS @FORM_ID,@RECORD_ID --SELECT @PARENT_ID = PARENT_ID FROM TBPMO_FORM WHERE GUID = @FORM_ID --IF @PARENT_ID > 0 -- INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID) VALUES (@PARENT_ID,@RECORD_ID) END TRY BEGIN CATCH PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + ' - FEHLER-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) END CATCH GO DECLARE @GUID INTEGER, @FORM_ID INTEGER , @MAX_ID INTEGER DECLARE c_RECORD CURSOR FOR SELECT GUID,FORM_ID FROM TBPMO_RECORD ORDER BY GUID OPEN c_RECORD FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID WHILE @@FETCH_STATUS = 0 BEGIN SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID WHERE GUID = @GUID FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID END CLOSE c_RECORD DEALLOCATE c_RECORD GO