Illegal cursor operation attempt????

li_zhifu 2003-06-20 03:57:39
Sybase SQL Anywhere Server

表1
Create Table GFT_YHGEDA_TEMP
(
I_LIUSHUIH int Not NULL default autoincrement,
--ID
C_GEBIANHAO char(7),
--个表编号
C_BIAOHAO varchar(10),
--出厂编号
C_BIAOXH varchar(20),
--表型号
C_BIAOCD varchar(20),
--表生产厂家
C_BIAOCCRQ varchar(10),
--表出厂日期
C_YONGHUQX varchar(20),
--个表所在区县
C_STATE char check (C_STATE in ('0','1')),
--标记,0指新增,1指删除;对删除来说,有意义的仅有C_GEBIANHAO、C_STATE
primary key (I_LIUSHUIH)
)

表2
Create Table GFT_BiaoDetail
(
c_Gebianhao char(7) not null,
c_no char(4),
--编号
primary key (c_Gebianhao),
)

create table gft_ranqibiao
(
c_no char(4),
--编号
c_biaojg varchar(20),
--表结构
c_biaogg varchar(20),
--表规格
i_biaows integer,
--表位数
c_biaoll varchar(20),
--表流量
c_biaoxh varchar(20),
--表型号
c_biaocd varchar(20),
--表产地
--c_biaosxh varchar(20),
--二次仪表型号
--c_biaosbh varchar(20),
--二次仪表编号
primary key (c_no),
--每一记录对应一种表,表型号与生产厂家确定一种表
)


alter trigger wei.tia_gft_yhgeda_temp after insert on
wei.GFT_YHGEDA_TEMP
referencing new as new_ins
for each row
begin
if new_ins.c_state = 0 then
select c_no from GFT_RANQIBIAO where c_biaoxh = new_ins.c_biaoxh and c_biaocd = new_ins.c_biaocd;
insert into GFT_biaodetail values(new_ins.c_gebianhao,GFT_RANQIBIAO.c_no)
end if
end

请问在向GFT_YHGEDA_TEMP中加入数据时
insert into gft_yhgeda_temp (c_gebianhao,c_biaoxh,c_biaocd,c_state) values ('9999901','LUXZ-20B','天信',0)
为什么会报错
“Illegal cursor operation attempt”?
去掉对应GFT_YHGEDA_TEMP的触发器就没问题了,我知道问题肯定是出在触发器代码上,请各位大虾帮看一下
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang21cnboy 2003-06-23
  • 打赏
  • 举报
回复
你前面的时候,条件查询出来的结果是多个!

执行插入操作的话,当然会错误!
li_zhifu 2003-06-23
  • 打赏
  • 举报
回复
--解决了,代码如下,请哪位高手给解释一下为何这样就可以了,而上面的就不行
alter trigger wei.tia_gft_yhgeda_temp after insert on
wei.GFT_YHGEDA_TEMP
referencing new as new_i
for each row begin
if new_i.c_state = 0 then
insert into GFT_BiaoDetail values(new_i.c_gebianhao,(select GFT_RANQIBIAO.c_no from GFT_RANQIBIAO where
GFT_RANQIBIAO.c_biaoxh = new_i.c_biaoxh and GFT_RANQIBIAO.c_biaocd = new_i.c_biaocd))
end if
end
blueshu 2003-06-23
  • 打赏
  • 举报
回复
up
sowine 2003-06-21
  • 打赏
  • 举报
回复

我真的不懂。

不过根据电脑提示及你的提示,是不是数据库内部的指针出问题?--猜想
「已注销」 2003-06-20
  • 打赏
  • 举报
回复
终于看到有人用Sybase数据库的人,可惜这各问题我不会
Delphi_Li 2003-06-20
  • 打赏
  • 举报
回复
Up!!!
li_zhifu 2003-06-20
  • 打赏
  • 举报
回复
从字面理解应该是“非法的游标操作”,关键是怎么解决?

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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