如同其他人的推文,這基本上是無解的
不過如果是SQL 2005的話,我會用這個方法減輕工作量:
Declare @STR nvarchar(max)
SELECT @STR=IsNull(@STR+',','')+'['+c.name ColumnName+']'
FROM sys.columns
WHERE OBJECT_name(c.object_id) = <TableName>
ORDER BY c.column_id;
Select @STR
你會得到一個字串表示出該資料表全部的欄位,用複製貼上後,把要修改
的欄位名稱變掉即可
我是把它寫成一個UDF,還可以輸入條件控制說要不要IDENTITY欄位?
(當你從某個資料表插入另一個資料表,卻不要強制設定IDENTITY欄位的時候)
要不要計算資料欄?(當你需要寫Insert Table(Col1,Col2....)時,被插入的目的
欄位不能有計算資料欄)
※ 引述《hwang (GO!!)》之銘言:
: 爬文有找到,可是並沒有看到比較好的答案
: 所以想再請問
: 假設table有100個欄位,想取出其中99個
: 也就是要去除一個
: 一定要一個個輸入那99個欄位名嗎?
: 不能select * 後再加些變化嗎?
: 另外
: 如果要select 100個欄位,並且再輸出時變更第50個欄位的值
: 也是要100個欄位一個個打,然後在打第50個時用些變化這樣嗎?
: 欄位數常常是很多個的
: 所以想請問有沒有比較方便的辦法
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.12.248