oracle dbms_session package

Any tables, views, materialized views, sequences, private synonyms, PL/SQL packages, functions, procedures, and cache groups owned by the same user share one namespace and so the names for each of these objects must be unique within that namespace. Indexes are created in their own namespace.
(每个用户一个命名空间)

ORA-04063: package body 有错误——是package里面有错误,一般不是call方法错了

CREATE OR REPLACE CONTEXT sc_test USING set_contxt; 

CREATE OR REPLACE PROCEDURE set_contxt IS 
lcontext dbms_session.appctxtabtyp; 
lsize    NUMBER; 
BEGIN 
  FOR i IN 1..5 LOOP 
    dbms_session.set_context('SC_TEST', 'ATTR' || i, i * 100); 
  END LOOP; 

  FOR j IN (SELECT * FROM session_context ORDER BY 2) LOOP 
    dbms_output.put_line(j.attribute || ', ' || j.value); 
  END LOOP; 

  dbms_output.put_line('*****'); 
  dbms_session.list_context (lcontext, lsize); 
  FOR k IN 1 .. (lcontext.COUNT) 
  LOOP 
    dbms_output.put_line('Namespace: ' || lcontext(k).namespace || ' Attribute: ' || lcontext(k).attribute || ' Value: ' || 
lcontext(k).value); 
  END LOOP; 
  dbms_output.put_line('*****'); 

  dbms_output.put_line('List Size: ' || lsize); 

  dbms_session.clear_context('SC_TEST', NULL, 'ATTR2'); 
  dbms_output.put_line( '*** ATTR2 has now been cleared ***' ); 

  FOR l IN (SELECT * FROM session_context ORDER BY 2) LOOP 
    dbms_output.put_line(l.attribute || ', ' || l.value); 
  END LOOP; 
END set_contxt; 
CREATE OR REPLACE PROCEDURE show_context_info 
IS
   context_info DBMS_SESSION.AppCtxTabTyp;
   info_count PLS_INTEGER;
   indx PLS_INTEGER;
BEGIN
   DBMS_SESSION.LIST_CONTEXT (
      context_info,
      info_count);
   indx := context_info.FIRST;   
   LOOP
      EXIT WHEN indx IS NULL;
      DBMS_OUTPUT.PUT_LINE (
         context_info(indx).namespace || '.' ||
         context_info(indx).attribute || ' = ' ||
         context_info(indx).value);
      indx := context_info.NEXT (indx);
   END LOOP;   
END;

然后在command窗口执行

set serveroutput on

然后

exec 过程名

或者

call 过程名()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FocusOneThread

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值