作者flakchen (flak)
看板Database
标题Re: select * 去除某栏
时间Sat Jun 14 19:14:03 2008
如同其他人的推文,这基本上是无解的
不过如果是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