高斯数据库创建存储过程

CREATE PROCEDURE
语法格式
CREATE [ OR REPLACE ] PROCEDURE procedure_name
[ ( {[ argmode ] [ argname ] argtype [ { DEFAULT | := | = } expression ]}[,…]) ]
[
{ IMMUTABLE | STABLE | VOLATILE }
| { SHIPPABLE | NOT SHIPPABLE }
| {PACKAGE}
| [ NOT ] LEAKPROOF
| { CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT }
| {[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | AUTHID DEFINER | AUTHID CURRENT_USER}
| COST execution_cost
| ROWS result_rows
| SET configuration_parameter { [ TO | = ] value | FROM CURRENT }
][ … ]
{ IS | AS }
plsql_body
/

参数说明
•OR REPLACE
当存在同名的存储过程时,替换原来的定义。

•procedure_name
创建的存储过程名字,可以带有模式名。
取值范围:字符串,要符合标识符的命名规范。

•argmode
参数的模式。

VARIADIC用于声明数组类型的参数。
取值范围: IN,OUT,INOUT或VARIADIC。缺省值是IN。只有OUT模式的参数后面能跟VARIADIC。并且OUT和INOUT模式的参数不能用在RETURNS TABLE的过程定义中。

•argname
参数的名字。
取值范围:字符串,要符合标识符的命名规范。

•argtype
参数的数据类型。
取值范围:可用的数据类型。

•IMMUTABLE、STABLE等
行为约束可选项。各参数的功能与CREATE FUNCTION类似,详细说明见5.18.17.13-CREATE FUNCTION

•plsql_body
PL/SQL存储过程体。

当在存储过程体中进行创建用户等涉及用户密码相关操作时,系统表及csv日志中会记录密码的明文。因此不建议用户在存储过程体中进行涉及用户密码的相关操作。
argument_name和argmode的顺序没有严格要求,推荐按照argument_name、argmode、argument_type的顺序使用。

示例

--创建存储过程:
CREATE PROCEDURE ypg_output2(tabname varchar)
as
begin
	dbms_output.put_line(tabname);
end;
/

--调用存储过程:
select ypg_output2('xxx');
call ypg_output2('xxx');

--删除一个存储过程。
DROP PROCEDURE ypg_output2;
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值