sql server复制数据行并更新字段

snlixing 2015-11-24 01:04:36
怎么才能复制一个表的数据然后更新某些字段的值

如下数据结构:
id cno pno pname
1 111 11 名称1
2 111 11 名称2
3 111 11 名称3
3 112 12 名称4
3 112 13 名称5

怎么复制cno=111的数据并更新cno的值为新合同号
...全文
435 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yole 2015-11-24
  • 打赏
  • 举报
回复

--> 测试数据:[m]
if object_id('[m]') is not null drop table [m]
go 
Create table m 
( ID int not NULL , 
cno int not NULL ,
pno int not null,
pname varchar(10) not null
) 
INSERT into m(id , cno,  pno,pname ) 
SELECT 1,111,11,'名称1' UNION ALL
SELECT 2,111,11,'名称2' UNION ALL
SELECT 3,111,11,'名称3' UNION ALL
SELECT 3,112,12,'名称4' UNION ALL
SELECT 3,112,13,'名称5' 


--操作
INSERT into m(id , cno,  pno,pname )
select id , 999,  pno,pname from m   --999位新值
where cno=111

select * from m

drop table m 

/*

(5 行受影响)

(3 行受影响)
ID          cno         pno         pname
----------- ----------- ----------- ----------
1           111         11          名称1
2           111         11          名称2
3           111         11          名称3
3           112         12          名称4
3           112         13          名称5
1           999         11          名称1
2           999         11          名称2
3           999         11          名称3

(8 行受影响)

*/



Yole 2015-11-24
  • 打赏
  • 举报
回复

--是要把111的改成新的值么?
update tb set cno   ='新的值' from tb where cno ='111'

34,597

社区成员

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

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