DB2存储过程语法

简介: 原文 http://zhuyuehua110.blog.163.com/blog/static/918619420107953555989/ 语法:      CREATE PROCEDURE . (参数) [属性]       --参数:SQL PL 存储过程中有三种类型的参数:         IN:输入参数(默认值,也可以不指定)         OUT:输出参数         INOUT:输入和输出参数       --属性    1、LANGUAGE SQL    指定存储过程使用的语言。

原文 http://zhuyuehua110.blog.163.com/blog/static/918619420107953555989/

语法:   

 

CREATE PROCEDURE <schema-name>.<procedure-name> (参数) [属性] <语句>   

  

--参数:SQL PL 存储过程中有三种类型的参数:   

     IN:输入参数(默认值,也可以不指定)   

     OUT:输出参数   

     INOUT:输入和输出参数   

  

--属性   

1、LANGUAGE SQL   

指定存储过程使用的语言。LANGUAGE SQL 是其默认值。还有其它的语言供选择,比如Java 或者C,可以将这一属性值分别设置为LANGUAGE JAVA 或者 LANGUAGE C。   

  

2、DYNAMIC RESULT SETS <n>   

如果您的存储过程将返回n 个结果集,那么需要填写这一选项。   

  

3、SPECIFIC my_unique_name   

赋给存储过程一个唯一名称,如果不指定,系统将生成一个惟一的名称。一个存储过程是可以被重载的,也就是说许多个不同的存储过程可以使用同一个名字,但这些存储过程所包含的参数数量不同。通过使用SPECIFIC 关键字,您可以给每一个存储过程起一个唯一的名字,这可以使得我们对于存储过程的管理更加容易。例如,要使用SPECIFIC 关键字来删除一个存储过程,您可以运行这样的命令:DROP SPECIFIC PROCEDURE。如果没有使用SPECIFIC 这个关键字,您将不得不使用DROP PROCEDURE 命令,并且指明存储过程的名字及其参数,这样DB2 才能知道哪个被重载的存储过程是您想删除的。   

  

4、SQL 访问级别   

NO SQL:存储过程中不能有 SQL 语句   

CONTAINS SQL:存储过程中不能有可以修改或读数据的 SQL 语句   

READS SQL:存储过程中不能有可以修改数据的 SQL 语句   

MODIFIES SQL:存储过程中的 SQL 语句既可以修改数据,也可以读数据   

   默认值是 MODIFIES SQL,一个存储过程不能调用具有更高 SQL 数据访问级别的其他存储过程。例如,被定义为 CONTAINS SQL 的存储过程可以调用被定义为 CONTAINS SQL 或 NO SQL 的存储过程。但是这个存储过程不能调用被定义为 READS SQL DATA 或 MODIFIES SQL 的其他存储过程。   

  

 

--语句   

可以是一条单独的语句或者是一组由BEGIN [ATOMIC] ... END 复合语句 

目录
相关文章
|
6月前
|
存储 机器学习/深度学习 SQL
SQLSERVER存储过程语法详解
SQLSERVER存储过程语法详解
409 0
|
6月前
|
存储 SQL 关系型数据库
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
MySQL数据库——存储过程-介绍以及基本语法(特点、创建、调用、查看、删除、示例)
172 0
|
存储 SQL Oracle
Oracle存储过程~基本语法
Oracle存储过程~基本语法
|
SQL 存储 关系型数据库
|
存储
存储过程的语法讲解
在上一篇文章:别再说不知道什么是存储过程和存储函数了中简单的介绍了存储过程和存储函数以及其使用。其实存储过程是可以进行编程的,所以可以和其他的编程语言一样使用变量、表达式以及控制结构进行编程,从而实现一些复杂和有用的功能。
251 0
存储过程的语法讲解
|
存储 Oracle 关系型数据库
Oracle存储过程迁移ODPS-03(专有云):ODPS1.0支持exists语法
专有云目前还有不少ODPS1.0版本,主要是应对V3之前的平台版本。这个版本的ODPS不支持exists语法,如何换种写法实现。
3025 0
|
SQL 存储 关系型数据库
|
存储 关系型数据库 SQL