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