sql语句

gaohenglove 2004-07-20 07:34:41
我的表有50个字段
表A
id name p1 p2 p3 xl1 xl2 xl3

我想用其中的一条记录更改另一条记录,id ,name 不更改,
update A set p1=...........
能否不把每个字段都列一遍来更新.

...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaohenglove 2004-07-21
  • 打赏
  • 举报
回复
谢谢,邹老大.
zjcxc 元老 2004-07-20
  • 打赏
  • 举报
回复
--当然,你可以通过系统表来生成update语句,不用逐个字段写
declare @s nvarchar(4000)
set @s=''
select @s=@s+',['+name+']=b.['+name+']'
from syscolumns
where id=object_id('表A')
and name not in('id','name')
set @s=stuff(@s,1,1,'')
exec('update a set '+@s+'
from 表A a,表A b
where a.id=1 --被更新的id
and b.id=2 --更新的源数据记录的id')
zjcxc 元老 2004-07-20
  • 打赏
  • 举报
回复
不能,必须列一遍

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧