我在我的oracle数据库中创建了1个程序
create or replace procedure P1(p_empno in number)
is
p_ename varchar2(10);
p_sal number(10);
begin
select ename,sal into p_ename,p_sal from emp where empno=p_empno;
dbms_output.put_line(p_ename||' '||p_sal);
end;
SQL> Procedure created.
但是当我试图查看数据字典时,它看起来像
SQL>从user_source中选择名称;
NAME
------------------------------
P1
P1
P1
P1
P1
P1
P1
P1
PROTECTED_PROC
PROTECTED_PROC
PROTECTED_PROC
PROTECTED_PROC
PROTECTED_PROC
PROTECTED_PROC
14 rows selected.
这是我创造的一次,但它显示了P1(8)次
答案 0 :(得分:1)
USER_SOURCE
表保存您的过程的源代码 - 每行一行。由于您的过程长度为8行,因此每行代码(程序)将获得8行。
如果查询
,将会很清楚SELECT * FROM USER_SOURCE WHERE WHERE NAME = 'P1';
或者如果您不需要源代码查询:
SELECT * FROM USER_PROCEDURES WHERE OBJECT_NAME = 'P1';
答案 1 :(得分:0)
因为它是8行。
你可以看到;
SELECT * FROM USER_SOURCE;