我有这样的存储过程,在任何表的插入命令之后执行
Create Procedure [dbo].[HistoryInsert](
@TableName nVarchar(500),
@RecordId bigInt
)
As
declare @Query nVarChar(max)
if Not Exists (Select Top 1 1
From Information_schema.tables
Where Table_Name = @TableName + 'History')
Set @Query = 'Select * Into ' + @TableName + 'History FROM ' + @TableName
Else
Set @Query = 'Insert Into ' + @TableName + 'History Select * FROM ' + @TableName
Exec(@Query)
Exec(@Query)
首次执行此过程时,会创建历史记录表。并且当此过程第二次执行时,插入失败,因为创建的表具有标识列。如何从表中选择所有列而不增加列的标识属性。