使用jdbc创建触发器/存储过程/函数/视图问题

coffeenight 2011-07-08 04:22:32
触发器:
create or replace trigger trig_sample
before update or delete on tbl_sample
referencing new as new old as old for each row
declare
msgstr constant varchar2(255) := 'test trig';
begin
if updating then
begin
:new.fremark := msgstr;
end;
end if;
end ;

使用jdbc的Statement的executeUpdate方法执行,可在数据库中生成该触发器,但该触发器被标识为无效,也就是没有编译。在pl/sql dev 中重新执行一遍就可以了。该触发器直接在pl/sql dev执行没问题,在jdbc下执行生成了却无效,另外函数、存储过程等都是这样,求正解!!!!!!!!!!!谢谢!
...全文
288 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
coffeenight 2011-07-13
  • 打赏
  • 举报
回复
是个人粗心,从SQL文件读出来时每行SQL换行时使用了\r\n,去掉\r就行,小小地方花我找了半天,再次感谢大家,散分。
xianaofei 2011-07-09
  • 打赏
  • 举报
回复
估计是版本问题吧,函数、存储过程、触发器在导入导出的时候也经常出现这样的情况,重新编译一下就好了
anly_hz 2011-07-08
  • 打赏
  • 举报
回复
估计是版本问题吧,函数、存储过程、触发器在导入导出的时候也经常出现这样的情况,重新编译一下就好了
kongxiong 2011-07-08
  • 打赏
  • 举报
回复
版本太低了
jwd001 2011-07-08
  • 打赏
  • 举报
回复
不会哦。我用Statement.execute("create function ...")没问题呀。是不是你的jdbc driver版本太低了?
皮皮 2011-07-08
  • 打赏
  • 举报
回复
将触发器的文件保存为Unix格式,否则不能使用

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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