欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DB2存储过程属性说明大全

程序员文章站 2022-03-08 23:21:16
procedureName:存储过程的名字,在同一个数据库的同一模式下,不能存在 存储过程名相同,参数数目相同的存储过程,即使参数的类型不同也不行 (in|out|inout...

procedureName:存储过程的名字,在同一个数据库的同一模式下,不能存在

存储过程名相同,参数数目相同的存储过程,即使参数的类型不同也不行

(in|out|inout paramName dataType, …):传入参数

in:输入参数,out:输出参数,inout:作为输入输出参数

dataType:参数类型,可以接收SQL类型和创建的表,不支持long varchar,

long vargraphic,datalink,reference和用户自定义类型。

specific specificName:唯一的特定名称(别名),可以用存储过程名代替。

用于给存储过程添加注释用,但不能调用存储过程。如果不指定,则数据库

会自动生成一个yymmddhhmmsshhn时间戳的名字。

language sql:指定过程的主体用的是SQL语言

dynamic result sets integer:指定存储过程返回结果的最大数量,若小于实际返回数量,则db2返回警告

deterministic or not deterministic:表示存储过程是动态或者非动态的。

动态的返回的值是不确定的,非动态每次返回值都是相同的

external action or no external action:表示存储过程是否执行改变数据库状态的活动,

而不通过数据库管理器。默认是external action。如果指定为no external action,

则数据库会确定最佳优化方案。

contains sql, reads sql data, modifies sql data:指定存储过程中的SQL访问级别

contains sql:表示存储过程可以执行中,既不可读取SQL数据,也不可修改SQL数据。

reads sql data:表示存储过程可以执行中,可读取SQL,但不可修改SQL数据。

modifies sql data:表示存储过程可以执行任何SQL语句。可以对数据库中的数据进行

增加、删除和修改。

old savepoint level or new savepoint level:建立存储点(存储某个时候的数据),

old savepoint level是默认的存储点

called on null input:表示可以调用存储过程而不管任何的输入参数是否为NULL,并且,

任何的out或者inout参数可以返回一个NULL或者非空值。检验参数是否为NULL是在过程中进行的。

inherit special registers:表示继承专用寄存器

parameter ccsid:指定所有输出字符串数据的编码,默认为unicode编码数据库为:parameter ccsid unicode,

其他的数据库默认为:parameter ccsid 3 ascii