关于可更新游标、不导入重复记录的问题(急)

am2004 am2004 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个关于可更新游标、不导入重复记录的问题

请各位高人指点:
有两个结构相同的表table1、table2,有字段c1、c2、c3。
我在存储过程中定义了一个游标:
declare cur_t cursor for select a.c1,a.c2 from table1 a,table b
where a.c1<>b.c2 and a.c2<>b.c2
for update of a.c3
这个游标的select部分实现将表table1中有而table2中没有的记录(只要字段c1和c2都相同则认为是相同的记录)检索出来,
我在存储过程的另一部分通过游标对表table1进行更新:
update table1 set c3='s' where current of cur_t
操作目的是将游标中的记录导入table2成功后将相应table1中记录的c3字段写入字符‘s’

我想问:
1、定义的游标从多个表中读数据时是否该游标自动变为readonly,因为我在运行上面的存储过程时出错,提示为我的游标被定义为readonly,不可update table。游标从单个数据表中读数据时顺利通过。
2、忙了一天头晕脑涨,都糊涂了,请教从一个表导入数据时不导入重复记录的语句实现(多个字段都相同才算是相同记录)——糊涂了呀~~~~~~~~~~
...全文
评论 6
收藏 已收藏
分享
返回顶部
am2004
MS-SQL Server 34,876 成员 254,635 内容