【发布时间】:2016-01-20 04:58:22
【问题描述】:
我有一个存储过程,我想审核它对许多表所做的所有更改。这段代码在 SP 中重复,但表名不同。完成该脚本后,我将临时表的内容复制到运行良好的审计表中。
我的一个表有问题,它会返回此消息:表“#MyTempTable”中标识列的显式值只能在使用列列表并且 IDENTITY_INSERT 为 ON 时指定。
我很懒,不想指定所有的列名。创建临时表后,有没有办法从临时表中删除身份?
--Create Temp Audit Table
IF OBJECT_ID('tempdb..#MyTempTable') IS NOT NULL drop table #MyTempTable;
select top 0 * into #MyTempTable from TabletoAudit
--Do changes and record into TempTable
UPDATE TabletoAudit
SET
series_nm = @newseries,
UPDATED_DT = GetDate()
OUTPUT deleted.* INTO #MyTempTable
WHERE
mach_type_cd = @mtype
AND
brand_id = @brand
AND
series_nm = @oldseries
--Copy Contents from Temp table to Audit Table
【问题讨论】:
标签: sql-server identity audit