>>-CREATE PROCEDURE--procedure-name----------------------------->
>--+----------------------------------------------------+--*---->
'-(--+------------------------------------------+--)-'
| .-,------------------------------------. |
| V .-IN----. | |
'---+-------+--parameter-name--data-type-+-'
+-OUT---+
'-INOUT-'
>--+-------------------------+--*------------------------------->
'-SPECIFIC--specific-name-'
.-DYNAMIC RESULT SETS 0--------. .-MODIFIES SQL DATA-.
>--+------------------------------+--*--+-------------------+--->
'-DYNAMIC RESULT SETS--integer-' +-CONTAINS SQL------+
'-READS SQL DATA----'
.-NOT DETERMINISTIC-. .-CALLED ON NULL INPUT-.
>--*--+-------------------+--*--+----------------------+--*----->
'-DETERMINISTIC-----'
.-INHERIT SPECIAL REGISTERS-. .-7 OLD SAVEPOINT LEVEL-.
>--+---------------------------+--*--+---------------------+---->
'-7 NEW SAVEPOINT LEVEL-'
.-LANGUAGE SQL-. .-7 EXTERNAL ACTION----.
>--7 *--+--------------+--*--+--------------------+--*------------>
'-7 NO EXTERNAL ACTION-'
>--+------------------------------+--3 *-------------------------->
'-3 PARAMETER CCSID--+-3 ASCII---+-'
'-3 UNICODE-'
>--| SQL-procedure-body |--------------------------------------><
SQL-procedure-body:
|--SQL-procedure-statement--------------------------------------|
语法说明
1、procedure-name: 存储过程的名字,在同一个数据库的同一模式下,不能存在存储过程名相同参数数目相同的存储过程,即使参数的类型不同也不行。
2、(IN | OUT | INOUT parameter-name data-type,...) :传入参数
IN:输入参数
OUT:输出参数
INOUT:作为输入输出参数
parameter-name:参数名字,在此存储过程中唯一的标识符。
data-type:参数类型,可以接收SQL类型和创建的表。不支持LONG VARCHAR, LONG VARGRAPHIC, DATALINK, REFERENCE和用户自定义类型。
3、SPECIFIC specific-name:唯一的特定名称(别名),可以用存储过程名代替,这个特定名称用于dorp存储过程,或者给存储过程添加注视用,但不能调用存储过程。如果不指定,则数据库会自动生成一个yymmddhhmmsshhn时间戳的名字。推荐给出别名。
4、DYNAMIC RESULT SETS integer:指定存储过程返回结果的最大数量。存储过程中虽然没有return语句,但是却能返回结果集。
5、CONTAINS SQL, READS SQL DATA, MODIFIES SQL DATA: 指定存储过程中的SQL访问级别
CONTAINS SQL: 表示存储过程可以执行中,既不可读取 SQL 数据,也不可修改 SQL 数据。
READS SQL DATA: 表示存储过程可以执行中,可读取SQL,但不可修改 SQL 数据。
MODIFIES SQL DATA: 表示存储过程可以执行任何 SQL 语句。可以对数据库中的数据进行增加、删除和修改。
6、DETERMINISTIC or NOT DETERMINISTIC:表示存储过程是动态或者非动态的。动态的返回的值是不确定的。非动态的存储过程每次执行返回的值是相同的。
7、CALLED ON NULL INPUT:表示可以调用存储过程而不管任何的输入参数是否为NULL,并且,任何的OUT或者INOUT参数可以返回一个NULL或者非空值。检验参数是否为NULL是在过程中进行的。
8、INHERIT SPECIAL REGISTERS:表示继承专用寄存器。
9、OLD SAVEPOINT LEVEL or NEW SAVEPOINT LEVEL:建立存储点。OLD SAVEPOINT LEVEL是默认的存储点。
10、LANGUAGE SQL:指定程序的主体用的是SQL语言。
11、EXTERNAL ACTION or NO EXTERNAL ACTION:表示存储过程是否执行一些改变理数据库状态的活动,而不通过数据库管理器管。默认是 EXTERNAL ACTION。如果指定为NO EXTERNAL ACTION ,则数据库会确定最最佳优化方案。
12、PARAMETER CCSID:指定所有输出字符串数据的编码,默认为UNICODE编码数据库为PARAMETER CCSID UNICODE ,其他的数据库默认为PARAMETER CCSID 3 ASCII。
分享到:
相关推荐
DB2存储过程是一种在数据库管理系统中预编译的SQL代码集合,它允许开发人员封装复杂的业务逻辑和数据处理操作,并可以被多次调用。DB2作为一款强大的关系型数据库管理系统,其存储过程功能强大,提高了应用程序的...
DB2 存储过程官方教程 DB2 存储过程官方教程是 DB2 存储过程的基础文档,涵盖了基本变量定义、基本语法描述等内容,适合初学者学习和实践。 变量声明是 DB2 存储过程中的一种基本概念,用于声明本地变量,以支持...
### DB2存储过程开发知识点详解 #### 一、DB2存储过程概述 DB2是IBM公司推出的一款关系型数据库管理系统,广泛应用于金融、电信等行业。存储过程是在数据库中存储的一组预编译的SQL语句和流程控制指令,用于执行...
### DB2存储过程语法大全:深入解析与应用 在数据库管理与开发领域,存储过程作为预编译的SQL代码块,极大地提升了数据处理的效率与安全性。本文将围绕“DB2存储过程语法大全”这一核心主题,深入探讨存储过程的...
DB2 存储过程 教程DB2 存储过程 教程DB2 存储过程 教程
DB2存储过程是数据库管理系统DB2中的一个重要特性,它允许用户预先编写一组SQL语句和其他数据库操作,并将它们封装在一起,形成一个可重用的、逻辑上的单元。这个单元可以在需要的时候被调用,提高了代码的复用性和...
### DB2存储过程基本语法详解 在数据库管理与应用程序开发领域,存储过程是提升数据处理效率、增强数据安全性和简化复杂操作的关键技术之一。DB2作为IBM推出的一款高性能关系型数据库管理系统,其存储过程功能强大...
DB2存储过程是一组为了完成特定功能的SQL语句集合,通过存储在数据库中,可被应用程序或其他存储过程调用。DB2存储过程使用SQL Procedure Language (SQLPL),这是SQL Persistent Stored Module (PSM) 标准的一个子集...
DB2存储过程是数据库管理系统DB2中的一个重要特性,它允许用户编写包含一组SQL语句的程序,这些程序可以在需要时执行,以完成特定的数据处理任务。在“DB2存储过程培训200908”这份资料中,你将深入学习如何有效地...
DB2存储过程是数据库管理系统DB2中的一个重要特性,它允许开发者编写包含一组SQL语句、控制流语句和用户定义函数的程序单元,以便在数据库中执行复杂的逻辑操作。存储过程可以提高应用程序的性能,减少网络流量,...
DB2存储过程精简教程,DB2存储过程精简教程,DB2存储过程精简教程
DB2存储过程是数据库管理中的一个重要概念,它们是预编译的SQL语句集合,可以在数据库服务器上执行复杂的业务逻辑,提高数据处理效率,并提供安全的访问控制。本指南将深入探讨DB2存储过程的开发,帮助你快速掌握这...
在"DB2存储过程练习"文件中,可能包含了一系列的存储过程示例,如数据的插入、更新、查询等操作,这些实例可以帮助初学者更好地理解如何在实际项目中运用存储过程。 总结,DB2的存储过程是数据库开发的重要工具,...
DB2存储过程是数据库管理中一种强大的编程工具,它允许用户在数据库级别封装复杂的SQL语句和控制流逻辑。在本“DB2存储过程入门实例”文档中,我们将深入探讨DB2存储过程的基础知识,包括其定义、创建、调用以及优化...
根据给定文件的信息,我们可以提炼出以下几个关于DB2存储过程的关键知识点: ### 1. DB2存储过程执行原理 在传统的客户-服务器架构中,客户端应用程序通过发送单独的SQL语句来请求数据库服务,这种方式在网络负载...
DB2存储过程基础涵盖了许多关于如何使用DB2 SQL Procedural Language (SQL PL)的知识点。SQL PL是一种结合了SQL查询功能和编程语言控制流程的工具,用于创建复杂的数据库对象,如函数、存储过程和触发器,以实现业务...
DB2存储过程基础培训
"java 调用db2存储过程" 本文将详细介绍 Java 调用 DB2 存储过程的方法和步骤,并提供了详细的代码示例。 一、创建存储过程 在 DB2 中,创建存储过程需要使用 CREATE PROCEDURE 语句。例如,创建一个无参存储过程...
以下是对DB2存储过程的详细介绍: 1. **创建存储过程** 创建一个DB2存储过程可以通过DB2开发中心进行,步骤包括: - 新建项目并连接到目标数据库。 - 右键点击选择“新建存储过程”,可以选择直接创建或使用向导...