0

如何在 MSSQL 2005 的触发器中为插入和删除的虚拟表起别名,以便稍后在触发器中使用 OUTPUT 子句中的另一组插入和删除的虚拟表?

我需要根据http://msdn.microsoft.com/en-us/library/ms177564%28SQL.90%29.aspx在触发器中为这些表起别名。

[编辑]

我应该更清楚,并提供了一个我猜的例子。

我想基本上做以下事情:

CREATE TRIGGER [dbo].[someTrigger]
ON [dbo].[Table_1]
FOR INSERT
AS

CREATE TABLE #tmpdatatable (field1 int, field2 int)

INSERT dbo.Table_2
    OUTPUT inserted.ident, ins.objid INTO #tmpdatatable
SELECT 2*objid
FROM inserted as ins (NOLOCK) 

.. do some stuff to the tmpdatatable .. 

DROP TABLE #tmpdatatable
PRINT 'processed inserted data'
4

1 回答 1

1

您可以像任何其他表别名一样给它们起别名:

FROM inserted as ins

或者

FROM deleted as del

然后使用别名作为列定义

SELECT ins.RowID, ins.Name
FROM inserted as ins
于 2009-07-13T13:15:00.773 回答