我有一个包含75列的长表,我正在输入测试数据,很难在网络表单中输入
我已经进入了一行。
我想在表格中复制十次。
Insert into tbl01
select * from tbl01
代码不起作用,因为标识列已打开,所以我想做
Select * - (column1) from tbl01
我问我的同事,她告诉她不知道存在这样的事情。!!!
注意:我不想这样做 -
选择col1,col2 ......直到col 75
答案 0 :(得分:2)
不,你做不到。
在“Sql Server Management Studio”中,您可以右键单击表并选择“脚本表为”> “插入”以为您生成列名称。
答案 1 :(得分:1)
你应该能够在sys.columns表的帮助下破解一些动态的SQL。
DECLARE @cols varchar(max)
SELECT @cols = coalesce(@cols+',','')+[name]
FROM sys.columns
WHERE object_name(object_ID) = 'tbl01'
and [name] != 'column1'
DECLARE @query varchar(max)
SELECT @query=replace('insert into ([cols]) select [cols] from tbl01', '[cols]', @cols)
EXECUTE(@query)
但是,老实说,我只能将它作为SSMS“脚本表格”功能的另一个选项。你应该真的只是创建一个sql并将它保存在某个地方以便重用。