graphql-engine/server/src-rsr/mssql/mssql_insert_trigger.sql.shakespeare
Naveen Naidu abb57e58c8 server/MSSQL: Event Delivery System (Incremental PR - 3)
</details>

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3392
Co-authored-by: Divi <32202683+imperfect-fourth@users.noreply.github.com>
GitOrigin-RevId: 9df6b0aa7d91f22571b72d3e467da23b916c9140
2022-04-21 07:20:34 +00:00

28 lines
713 B
Plaintext

CREATE OR ALTER TRIGGER #{qualifiedTriggerName}
ON #{qualifiedTableName}
AFTER INSERT
AS
BEGIN
DECLARE @json NVARCHAR(MAX)
SET @json = (
SELECT
#{deliveryColsSQLExpression}, NULL as [payload.data.old],
'#{operation}' as [payload.op],
'#{schemaName}' as [schema_name],
'#{tableName}' as [table_name],
'#{triggerNameText}' as [trigger_name]
FROM INSERTED
FOR JSON PATH, INCLUDE_NULL_VALUES
)
INSERT INTO hdb_catalog.event_log (schema_name,table_name,trigger_name,payload)
SELECT * FROM OPENJSON (@json)
WITH(
schema_name NVARCHAR(MAX) '$.schema_name',
table_name NVARCHAR(MAX) '$.table_name',
trigger_name NVARCHAR(MAX) '$.trigger_name',
[payload] NVARCHAR(MAX) AS JSON
)
END;