那就动态产生列名,在注释的部分写上你那个ID,就可以去掉了,如果A表的ID是可以不管的话,开启set identity_insert on 然后插入即可DECLARE @s NVARCHAR(4000) SET @s = '' SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')' FROM syscolumns WHERE id = OBJECT_ID('表名') --AND name NOT IN ( '不希望显式的列' ) SET @s = STUFF(@s, 1, 1, '') EXEC('select '+@s+' from 表名 ')
谢谢版主。 我有不能使用set identity_insert on 设置。 上面动态列名的方法好像更麻烦。 有无简单的方法?
列出需要的字段,我现在就是这样做的。但是我嫌此麻烦,才想在此求一个简单的方法,即不全部列出。用 select * ....
SET @s = ''
SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')'
FROM syscolumns
WHERE id = OBJECT_ID('表名')
--AND name NOT IN ( '不希望显式的列' )
SET @s = STUFF(@s, 1, 1, '')
EXEC('select '+@s+' from 表名 ')
我有不能使用set identity_insert on 设置。
上面动态列名的方法好像更麻烦。
有无简单的方法?