En una declaración :No.
En una transacción :Sí
BEGIN TRANSACTION
DECLARE @DataID int;
INSERT INTO DataTable (Column1 ...) VALUES (....);
SELECT @DataID = scope_identity();
INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
COMMIT
La buena noticia es que también se garantiza que el código anterior es atómico , y se puede enviar al servidor desde una aplicación cliente con una cadena sql en una sola llamada de función como si fuera una declaración. También puede aplicar un disparador a una tabla para obtener el efecto de una sola inserción. Sin embargo, en última instancia, siguen siendo dos declaraciones y probablemente no desee ejecutar el disparador para cada insertar.