是否可以格式化选择星号?

时间:2011-04-25 18:22:27

标签: sql-server-2005 select bulkinsert

我有一个包含75列的长表,我正在输入测试数据,很难在网络表单中输入

我已经进入了一行。

我想在表格中复制十次。

Insert into tbl01 
select * from tbl01

代码不起作用,因为标识列已打开,所以我想做

Select * - (column1) from tbl01

我问我的同事,她告诉她不知道存在这样的事情。!!!

注意:我不想这样做 -

  

选择col1,col2 ......直到col 75

2 个答案:

答案 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并将它保存在某个地方以便重用。