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

am2004 2005-03-25 08:36:03
一个关于可更新游标、不导入重复记录的问题

请各位高人指点:
有两个结构相同的表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、忙了一天头晕脑涨,都糊涂了,请教从一个表导入数据时不导入重复记录的语句实现(多个字段都相同才算是相同记录)——糊涂了呀~~~~~~~~~~
...全文
196 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsql 2005-03-25
  • 打赏
  • 举报
回复
可能是表未建立主键
am2004 2005-03-25
  • 打赏
  • 举报
回复
我单个表时可以不出现在select 列表里呀?
pbsql 2005-03-25
  • 打赏
  • 举报
回复
import_status应出现在前面的select里的列表里:
declare cur_IFDB10_car_series cursor
for select
a.factory_code,
a.base_car_series, a.comments,
a.import_status
...
yizhixiaozhu 2005-03-25
  • 打赏
  • 举报
回复
帮你up
am2004 2005-03-25
  • 打赏
  • 举报
回复
一楼的高人,我按你写的改了游标,可还是:

服务器: 消息 16957,级别 16,状态 4,过程 sp_IF2012,行 26
在 READ ONLY 游标上不能指定 FOR UPDATE。

我的游标定义如下:
--定义游标变量
declare cur_IFDB10_car_series cursor
for select
a.factory_code,
a.base_car_series,
a.comments
from IFDB10_car_series a--,IFDB20_car_series b
where
a.import_date in --取导入日期最大
(select max(import_date) from IFDB10_car_series)
and not exists
(select * from IFDB20_car_series b where
a.factory_code=b.factory_code
and a.base_car_series=b.base_car_series ) --如果这两个字段都相等则不选取
for update of a.import_status
pbsql 2005-03-25
  • 打赏
  • 举报
回复
1.定义的游标从多个表中读数据时该游标自动变为readonly,改SQL语句:
declare cur_t cursor for
select c1,c2,c3 from table1 a
where not exists(select * from table2 b where a.c1=b.c2 and a.c2=b.c2)
for update of a.c3
2.其实可以不要游标的:
update table1 set c3='s'
where not exists(select * from table2 b where table1.c1=b.c2 and table1.c2=b.c2)
内容概要:本文介绍了基于Matlab代码实现的电力系统机组组合优化调度方法,适用于IEEE14、IEEE30和IEEE118节点标准测试系统。该资源聚焦于电力系统中发电机组的优化调度问题,通过智能优化算法实现对机组启停、出力分配等决策的最优化,旨在降低运行成本、提升系统可靠性和经济性。文中系统阐述了从数学模型构建、多类型约束处理到优化算法设计与仿真实验验证的完整研究流程,并提供了可复现的Matlab代码,涵盖目标函数设定、约束条件建模及算法求解过程,适用于电力系统调度、能源优化等相关领域的科研与教学实践。; 适合人群:具备电力系统分析、运筹学基础及Matlab编程能力的高校学生、科研人员和工程技术人员,尤其适合从事电力系统优化、智能算法应用研究的研究生与青年学者。; 使用场景及目标:①用于电力系统机组组合(UC)问题的教学实验与课程设计;②支撑科研工作中对遗传算法、粒子群算法等智能优化算法在电力系统调度中应用的研究;③为含可再生能源接入的现代电网调度提供仿真平台与技术参考,助力低碳电力系统规划与运行。; 阅读建议:建议读者结合电力系统调度理论与优化建模知识,深入理解机组组合问题的数学本质与物理约束,再通过Matlab代码进行仿真实践,重点关注算法收敛性、多目标权衡策略与不同测试系统间的性能对比,以实现理论与实践的深度融合。
内容概要:本文研究了一种基于TCN-BiGRU-Attention混合神经网络模型的风电功率预测方法,旨在提升预测精度。该模型融合了时间卷积网络(TCN)对局部时序特征的强大提取能力、双向门控循环单元(BiGRU)对时间序列前后依赖关系的双向捕捉能力,以及注意力(Attention)机制对关键时间步特征的自适应加权聚焦能力。研究采用多变量输入方式,综合纳入风速、风向、温度等多种气象因素作为输入特征,实现风电功率的单步预测。通过对实际风电场数据的实验验证,该模型在预测精度方面相较于单一模型或其他组合模型展现出显著优势,有效降低了预测误差。; 适合人群:具备一定机器学习与深度学习基础,从事新能源预测、电力系统调度或相关领域研究的科研人员与工程技术人员。; 使用场景及目标:①应用于风电场功率实时预测,提升电网调度的稳定性与安全性;②为电力市场交易、储能配置和可再生能源消纳提供高精度数据支持;③作为深度学习模型融合设计的参考案例,推动时序预测技术的发展。; 阅读建议:此资源提供了完整的Matlab代码实现,读者在学习时应重点关注模型结构的设计原理、多变量特征的处理方式以及Attention机制的融入方法,建议结合代码进行复现实验,调整参数以深入理解各组件对最终预测性能的影响。

34,876

社区成员

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

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