sql问题

sarrand 2003-10-27 11:51:39
比如我有个表中有N条记录,现在我需要在这个表中把N条记录复制一遍,并且替换其中某个字段的值,请问如何写SQL,谢谢
...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmby 2003-10-27
  • 打赏
  • 举报
回复
如果PK是要到表中去取的,那么得用循环。

declare procedure for up_selfcopy
as
declare @rowscount int
declare @pk_seq int
declare @ii

select @rowscount = count(*) from table

set @ii = 0

do while @ii <= @rowscount

select @pk_seq = seq from seq_table//取主健
update seq_table//更新主健sequence表

insert into table ( col1, col2, col3, col4, ...., )
(select @pk_seq, col2, exchange_value, col4, ....., from table)

@ii ++
loop
lmby 2003-10-27
  • 打赏
  • 举报
回复
要看你的PK
如果你的PK是col1且是identity,要替换的column是col3,那么

insert into table ( col2, col3, col4, ...., )
(select col2, exchange_value, col4, ....., from table)
mittee 2003-10-27
  • 打赏
  • 举报
回复
建议通过数据窗口操作。
sql 语句怎么写阿,请高手。
hkzhou 2003-10-27
  • 打赏
  • 举报
回复
以上 生成一个新表 select * into table_copy from table
hkzhou 2003-10-27
  • 打赏
  • 举报
回复
如果是sybase 用
select a as b,c as d into table_copy 就可以
klbt 2003-10-27
  • 打赏
  • 举报
回复
用数据窗口比较容易实现,用RowsCopy函数。
xuyi1979 2003-10-27
  • 打赏
  • 举报
回复
建议先取到DW中作替换,然后UPDATE
sarrand 2003-10-27
  • 打赏
  • 举报
回复
我刚才没写清楚,抱歉,我要的是在本表中把所有记录复制一遍,然后再追加到本表中,只是其中一个字段修该,请问如何做?
workhand 2003-10-27
  • 打赏
  • 举报
回复
同意楼上的sql语句,不过用dw更方便

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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