云数据库 GAUSSDB-CREATE PROCEDURE:参数说明

时间:2024-04-26 16:14:40

参数说明

  • OR REPLACE

    当存在同名的存储过程时,替换原来的定义。

  • procedure_name

    创建的存储过程名称,可以带有模式名。

    取值范围:字符串,要符合标识符命名规范

  • argmode

    参数的模式。

    VARIADIC用于声明数组类型的参数。

    取值范围: IN,OUT,INOUT或VARIADIC。缺省值是IN。只有OUT模式的参数能跟在VARIADIC参数之后。

  • argname

    参数的名称。

    取值范围:字符串,要符合标识符命名规范

  • argtype

    参数的数据类型。可以使用%TYPE或%ROWTYPE间接引用变量或表的类型,详细可参考存储过程章节定义变量

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

    PACKAGE外PROCEDURE argtype中%TYPE不支持引用PACKAGE变量的类型。

  • expression

    参数的默认表达式。

    • 在参数a_format_version值为10c和a_format_dev_version值为s2的情况下,参数为INOUT模式时不支持默认表达式。
    • 推荐使用方式:将所有默认值参数定义在所有非默认值参数后。
    • 调用带有默认参数的函数时,入参从左往右排入函数,如果有非默认参数的入参缺失则报错。
    • 打开proc_uncheck_default_param参数,调用带有默认参数的函数时,入参从左往右排入函数,允许缺省默认参数个入参,如果有非默认参数的入参缺失,则会用错位的默认值填充该参数。
    • 在参数a_format_version值为10c、a_format_dev_version值为s1和关闭proc_outparam_override,函数参数同时包括out出参和default时,默认值不可缺省。
  • configuration_parameter
    • value

      把指定的配置参数设置为给定的值。如果value是DEFAULT,则在新的会话中使用系统的缺省设置。OFF关闭设置。

      取值范围:字符串

      • DEFAULT
      • OFF
      • 指定默认值。
    • from current

      取当前会话中的值设置为configuration_parameter的值。

  • IMMUTABLE、STABLE

    行为约束可选项。各参数的功能与CREATE FUNCTION类似,详细说明见CREATE FUNCTION

  • plsql_body

    PL/SQL存储过程体。

    当在存储过程体中进行创建用户、修改密码或加解密等涉及密码或密钥相关操作时,系统表及日志中会记录密码或密钥的明文信息。为防止敏感信息泄露,不建议用户在存储过程体中进行涉及密码或密钥等敏感信息的相关操作。

argname和argmode的顺序没有严格要求,推荐按照argname、argmode、argtype的顺序使用。

support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-12-0533.html