首页 新闻 会员 周边

orcal procedure

0
悬赏园豆:5 [已关闭问题] 关闭于 2010-06-03 15:38

1.  set serveroutput on 在pl/sql 中运行不了?

 

 

 

2  --创建包
create or replace package pk_test is
  type t_ref_cursor is ref cursor;
end pk_test;
 
--创建储存过程
create or replace package body bd_test as
  create procedure pr_test(p_cursor out pk_test.t_ref_cursor)as
   begin
     open p_cursor for  select JLBH,CPHM FROM  T_CLJL  WHERE ROWNUM<10;
  exception
     when others then
       rollback;
  end pr_test;
end bd_test;

包创建成功,但里面的储存过程在包里找不到??

 

3 我下面的触发器有问题,但找不到,成功创建,但执行不了

create or replace trigger tg_test
 after update on t_clbkxxxx

 for each row
 declare
  -- local variables here
 begin
  insert into t_temp_q(
   bkid,ckbz_old,ckbz_new
  )values(
   :old.bckxxxxid,:old:ckbz,:new.ckbz
  );
 end tg_test;

moneywei的主页 moneywei | 初学一级 | 园豆:195
提问于:2010-05-31 13:51
< >
分享
所有回答(1)
0

1.LZ标题错误 ORACLE单词

2.set serveroutput on //这个东西ORACLE 没有

3.包里面需要定义

修改成

create or replace package pk_test is
  type t_ref_cursor is ref cursor;

 procedure pr_test(p_cursor out pk_test.t_ref_cursor);
end pk_test;

4.触发器这个问题我还没看出错误

Oracle | 园豆:231 (菜鸟二级) | 2010-05-31 17:22
最后一个触发器问题 添加COMMIT 你不提交事务 数据库是不认为你插入的
支持(0) 反对(0) Oracle | 园豆:231 (菜鸟二级) | 2010-05-31 17:24
@Oracle:说对了两处,仍然谢谢 原因主要是我的笔误。 3.主要由于包名和包体名不相同而造成 4.:old.bckxxxxid,:old:ckbz,:new.ckbz改成:old.bckxxxxid,:old.ckbz,:new.ckbz
支持(0) 反对(0) moneywei | 园豆:195 (初学一级) | 2010-06-03 15:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册