导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

简单的update问题

l0g 2006-01-21 07:39:16
id name tel e-mail
1 user1 110 110@110.com
2 user2 220 220@220.com
3 user3 330 330@330.com

上面是一个简单的数据表! 我现在想更新id=1的记录让他的全部字段值和id=3的记录一样(id不变)!
请问应该怎样写?
注: 字段很多! 求最简洁的方法!
谢谢
...全文
48 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jin2005 2006-01-21
declare @tab table(id int,name varchar(20),tel int,email varchar(30))
insert into @tab
select 1,'user1',110,'110@110.com' union
select 2,'user2',220,'220@220.com' union
select 3,'user3',330,'330@330.com'

update @tab set name=a.name,tel=a.tel,email=a.email from @tab,
(select id as id1,name,tel,email from @tab where id=3)a
where id=1

select * from @tab
/*
id name tel email
----------- -------------------- ----------- ------------------------------
1 user3 330 330@330.com
2 user2 220 220@220.com
3 user3 330 330@330.com
*/
回复
点点星灯 2006-01-21

declare @tab table(id int,name varchar(20),tel varchar(20),email varchar(20))

insert @tab values(1,'user1','110','110@110.com')
insert @tab values(2,'user2','220','220@220.com')
insert @tab values(3,'user3','330','330@330.com')

select * from @tab

declare @name varchar(20)
declare @tel varchar(20)
declare @email varchar(20)

select @name=[name],@tel=tel,@email=email from @tab where id=1

update @tab set [name]=@name,tel=@tel,email=@email where id=3

select * from @tab
回复
flyeq008 2006-01-21
学习……楼上的。。ID不变,也许别人的ID是主键呢??
回复
ngzhjm 2006-01-21
把ID=3的記錄刪除,再插入ID=1的記錄就可以了,這是最簡單的方法
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告