| CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name [(argument { IN | OUT | IN OUT } [NOCOPY] datatype] , ... )] [AUTHID {CURRENT_USER | DEFINER} ] { IS | AS } { plsql_code | LANGUAGE { JAVA NAME 'string' | C [NAME name] LIBRARY libname [WITH CONTEXT] [PARAMETERS params]] } } |
| ALTER PROCEDURE [schema.]procedure_name COMPILE [DEBUG] |
| DROP PROCEDURE [schema.]procedure_name |
| CREATE [OR REPLACE] FUNCTION [schema.]function_name [(argument { IN | OUT | IN OUT } [NOCOPY] datatype] , ... )] RETURN datetype [AUTHID {CURRENT_USER | DEFINER} ] { IS | AS } { plsql_code | LANGUAGE { JAVA NAME 'string' | C [NAME name] LIBRARY libname [WITH CONTEXT] [PARAMETERS params]] } } |
| ALTER FUNCTION [schema.]procedure_name COMPILE [DEBUG] |
| DROP FUNCTION [schema.]procedure_name |
| 关键词 | 描述 |
|---|---|
| procedure_name | 存储过程名 |
| argument | 参数名 |
| IN | 指定为输入参数 |
| OUT | 指定为输出参数 |
| NOCOPY | 参数为引用,不是传值 |
| AUTHID | 指定执行权限 |
| CURRENT_USER | 使用调用的用户权限 |
| DEFINER | 使用定义的用户权限,默认 |
| plsql_code | PL/SQL 语句 |
| LANGUAGE | 指定该 PL/SQL 映射为过程 JAVA 或 C 过程 |
| JAVA NAME 'string' | 指定映射的 JAVA 实现 |
| C NAME name | 指定影射的 C 方法 |
| LIBRARY libname | 指定包含 C 程序的库名 |
| WITH CONTEXT | 指定包含 C 程序的内容指针 |
| params | 指定传递到 C 程序的参数 |
| ALTER | 重新编译 |
| COMPILE | 重新编译 |
| DROP | 删除存储过程/函数 |
| RETURN | 函数返回值 |