暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T PL/SQL匿名块

原创 章芋文 2019-09-24
928

注意事项

参数和表的列不能重名,因为匿名块以变量名优先,二者重名会导致列的值不可获取。

语法格式

DECLARE  

  [param-list] 

BEGIN  

       statement;

END;

参数说明

param-list

参数列表。可以指定参数的缺省值。格式为“variant_name data_type [ { := | DEFAULT 

} default_expr ];”。

statement

匿名块语句,不允许为空,为空会报错。

可以使用基本语句、动态语句、控制语句、异常语句、其他语句、函数或存储过程。基本语句详情请参见基本语句,动态语句详情请参见动态语句,控制语句详情请参见控制语句,其他语句详情请参见其他语句,自定义函数详情请参见自定义函数,自定义存储过程请参见创建存储过程。

示例

创建匿名块。

存储过程和函数存储在同一个系统表中,如果新创建的存储过程和已有自定义函数重名,将导致创建存储过程失败。因此,在创建存储过程之前,需要删除重名的自定义函数。

--删除重名的存储过程。

DROP PROCEDURE IF EXISTS Zenith_Test_004;

--删除重名的自定义函数。

DROP FUNCTION IF EXISTS Zenith_Test_004;

创建存储过程和匿名块时,最后的“/”符号用于标示存储过程定义语句的结束,不能省略,且必须单独成行。

--创建存储过程。
CREATE OR REPLACE PROCEDURE Zenith_Test_004(param1 OUT VARCHAR2)
IS
    tmp VARCHAR(20):='12345678';
BEGIN
 param1:=param1||tmp;
END Zenith_Test_004;
/
--创建匿名块。DECLARE      v_char1 CHAR(9) :='A';  BEGIN      Zenith_Test_004(v_char1);      DBMS_OUTPUT.PUT_LINE('OUT PUT RESULT:'||v_char1);  END;/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论