查看过程和函数
过程和函数保存在数据库的字典中,几个常用的查看字典命令如下:
DBA_SOURCE: 所有的过程和函数。
ALL_SOURCE: 当前用户可以访问的所有过程和函数。
USER_SOURCE: 当前用户拥有的所有过程和函数。
示例:使用 DBA_SOURCE 列举用户 HR 的所有过程。
obclient> select owner,name,type from dba_source where owner='HR' and type='PROCEDURE';
+-------+-------------+-----------+
| OWNER | NAME | TYPE |
+-------+-------------+-----------+
| HR | AAA | PROCEDURE |
| HR | USERLOGIN | PROCEDURE |
| HR | LOG_MESSAGE | PROCEDURE |
+-------+-------------+-----------+
示例:使用 user_source 查看当前用户拥有的过程 log_message 的内容。
obclient> select text from user_source where name='LOG_MESSAGE' and type='PROCEDURE'\G
*************************** 1. row ***************************
TEXT: PROCEDURE log_message(p_message varchar2)
AS
BEGIN
INSERT INTO logtable VALUES ( user, sysdate, p_message ); COMMIT;END log_message
1 row in set (0.04 sec)
删除过程和函数
删除过程的命令如下:
DROP PROCEDURE [user.]Procudure_name;
删除函数的命令如下:
DROP FUNCTION [user.]Function_name;
示例如下:
obclient> drop procedure LOG_MESSAGE;
Query OK, 0 rows affected (0.03 sec)