数据库如何从另一个表,更新一整行的数据?(列项目很多的情况)
比如一个表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
这种感觉。 展开
update 表1
SET 表1.所有项目=表2.所有项目
where 表1.ID=表2.ID
这种感觉。 展开
1个回答
展开全部
--要求两个表字段名都相同
--根据表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 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询