Illegal cursor operation attempt????
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的触发器就没问题了,我知道问题肯定是出在触发器代码上,请各位大虾帮看一下