数据库如何从另一个表,更新一整行的数据?(列项目很多的情况)

比如一个表1有ID,A,B,C,D....................100多个项目update表1SET表1.所有项目=表2.所有项目where表1.ID=表2.I... 比如一个表1有ID,A,B,C,D....................100多个项目

update 表1
SET 表1.所有项目=表2.所有项目
where 表1.ID=表2.ID

这种感觉。
展开
 我来答
鲜美还清湛灬白桦N
推荐于2017-09-17 · TA获得超过621个赞
知道小有建树答主
回答量:404
采纳率:50%
帮助的人:530万
展开全部
--要求两个表字段名都相同
--根据表1字段,拼一个update的sql语句,然后执行
Declare @SQL Varchar(1000)='Update 表1 Set '
Select @SQL=@SQL+'表1.'+name+'=表2.'+name+','  from sys.columns 
where object_id=object_id('表1')
and name<>'id'
Set @SQL=STUFF(@SQL,LEN(@SQL),1,'')+' Where 表1.ID=表2.ID'
Exec(@SQL)

--先删除表1 id在表2的这些数据,然后在插入表2的数据
Begin Tran
    Delete From 表1
    From 表1 A Inner Join 表2
    on 表1.id=表2.id
    Insert Into 表1
    Select * From 表2 
Commit

--目前mssql没发现这样的sql
Update 表1 Set 表1.*=(Select * from 表2 where id=表1.id)

--Oracle有这样的写法
Update 表1
Set (表1.a1,表1.a2,表1.a3)=(Select b1,b2,b3 from 表2 where id=表1.id)

Update 表1
Set (表1.*)=(Select * from 表2 where id=表1.id)
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式