您的位置:首页 > 编程语言 > Java开发

java创建触发器失败(Missing IN or OUT parameter at index:: 1 )

2017-03-11 09:49 423 查看
触发器代码如下:

create or replace trigger trigger_33zOtisNB5cZ_LMAhwtmDg
before insert or update of STUNAME
on T_STU for each row
begin
if inserting then
insert into table_33zOtisNB5cZ_LMAhwtmDg values ('insert',sysdate,:new.STUID);
elsif updating then
insert into table_33zOtisNB5cZ_LMAhwtmDg values ('update',sysdate,:new.STUID);
elsif deleting then
insert into table_33zOtisNB5cZ_LMAhwtmDg values ('delete',sysdate,:old.STUID);
end if;end;


java执行代码:

PreparedStatement state = conn.prepareCall(sql);
state.execute();


执行时出错,猜测原因:执行的时候将上述语句翻译成了带参数的查询,如果把创建触发器语句中的:new,:old等关键字去掉则执行成功

解决方案:

Statement state = conn.createStatement();
state.execute(sql);


问题解决!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java sql oracle 触发器
相关文章推荐