我已经在我的oracle数据库中创建了一个过程
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)次
发布于 2017-07-31 04:40:44
USER_SOURCE表保存过程的源代码-每行一行。因为您的过程有8行长,所以(您的过程)的每一行代码都有8行代码。
如果您要查询,您将会很清楚
SELECT * FROM USER_SOURCE WHERE WHERE NAME = 'P1';或者如果你不需要源码查询:
SELECT * FROM USER_PROCEDURES WHERE OBJECT_NAME = 'P1';发布于 2017-07-31 04:26:44
因为它有8行。
你可以用;
SELECT * FROM USER_SOURCE;https://stackoverflow.com/questions/45403631
复制相似问题