IDENTITYCOL 返回标识列。如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1.IDENTITYCOL)限定 IDENTITYCOL。 ROWGUIDCOL 返回行全局唯一标识列。 如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1.ROWGUIDCOL)限定 ROWGUIDCOL。
懒人吧declare @fieldlist varchar(8000) set @fieldlist=''select @fieldlist=@fieldlist+','+name from syscolumns where id=object_id('tab') order by colorder set @fieldlist=left(@fieldlist,len(@fieldlist)-1) exec ('insert into tab('+@fieldlist+') values(1,4)')
返回标识列。如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1.IDENTITYCOL)限定 IDENTITYCOL。
ROWGUIDCOL
返回行全局唯一标识列。
如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1.ROWGUIDCOL)限定 ROWGUIDCOL。
set @fieldlist=''select @fieldlist=@fieldlist+','+name from syscolumns
where id=object_id('tab')
order by colorder
set @fieldlist=left(@fieldlist,len(@fieldlist)-1)
exec ('insert into tab('+@fieldlist+') values(1,4)')
用你的办法是复杂点,但问题总算解决了