SQL Server 2022 graph database pseudo column in triggers

40 Views Asked by At

I have a SQL Server 2022 database where I am defining the following trigger:

CREATE OR ALTER TRIGGER After_Assignment_Delete
ON dbo.[Assigned_To]
AFTER DELETE
AS
BEGIN
    INSERT INTO dbo.[UpdateManifest]([DatabaseId], [UserId])
        SELECT db.[Id], u.[Id]
        FROM deleted a
        INNER JOIN [User] u ON a.$from_id = u.$node_id
        OUTER APPLY [dbo].[GetAssignedDatabases](u.[Id]) db
END

This trigger will build and work as I expect, however, if I change the trigger to an INSTEAD OF DELETE trigger I get the error

Invalid column name '$from_id'

Are INSTEAD OF triggers on edge tables not supported?

CREATE OR ALTER TRIGGER After_Assignment_Delete
ON dbo.[Assigned_To]
INSTEAD OF DELETE
AS
BEGIN
    INSERT INTO dbo.[UpdateManifest]([DatabaseId], [UserId])
        SELECT db.[Id], u.[Id]
        FROM deleted a
        INNER JOIN [User] u ON a.$from_id = u.$node_id
        OUTER APPLY [dbo].[GetAssignedDatabases](u.[Id]) db
END
0

There are 0 best solutions below