2011-04-25 44 views
0

我有一個75列的長桌,我輸入測試數據,很難以網頁形式輸入還可以格式化選擇星號嗎?

我已經輸入一行。

我想在表格中複製十次。

Insert into tbl01 
select * from tbl01 

代碼不起作用,因爲標識列上,所以我想去做

Select * - (column1) from tbl01 

我問我的同事,她告訴她不知道這樣的事情存在。!!!

注:我不想做的事 -

選擇COL1,COL2 ...直到山坳75

回答

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「Script table as」功能的另一個選項。你應該真的創建一個sql並保存在某個地方以供重用。

2

不,你不能這樣做。

在「Sql Server Management Studio」中,您可以右鍵單擊一個表並選擇「Script table as」>「Insert to」爲您生成列名稱。