69 lines
1.8 KiB
Transact-SQL
69 lines
1.8 KiB
Transact-SQL
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 |