-- This is a CLP script that creates an SQL procedure.
-- To create the SQL procedure using this script, perform the following steps:
-- 1. connect to the database
-- 2. issue the command "db2 -td@ -vf <script-name>"
-- where <script-name> represents the name of this script
--
-- To call this SQL procedure from the command line, perform the following steps:
-- 1. connect to the database
-- 2. issue the following command:
-- db2 "CALL create_dept_table ('D11', ?)"
--
-- The sample "dynamic.sqc" demonstrates how to call this SQL procedure using
-- an embedded C client application.
CREATE PROCEDURE create_dept_table
(IN deptNumber VARCHAR(3), OUT table_name VARCHAR(30))
LANGUAGE SQL
BEGIN
DECLARE SQLSTATE CHAR(5);
DECLARE new_name VARCHAR(30);
DECLARE stmt VARCHAR(1000);
-- continue if sqlstate 42704 ('undefined object name')
DECLARE CONTINUE HANDLER FOR SQLSTATE '42704'
SET stmt = '';
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
SET table_name = 'PROCEDURE_FAILED';
SET new_name = 'DEPT_'||deptNumber||'_T';
SET stmt = 'DROP TABLE '||new_name;
PREPARE s1 FROM stmt;
EXECUTE s1;
SET stmt = 'CREATE TABLE '||new_name||
'( empno CHAR(6) NOT NULL, '||
'firstnme VARCHAR(12) NOT NULL, '||
'midinit CHAR(1) NOT NULL, '||
'lastname VARCHAR(15) NOT NULL, '||
'salary DECIMAL(9,2))';
PREPARE s2 FROM STMT;
EXECUTE s2;
SET stmt = 'INSERT INTO '||new_name || ' ' ||
'SELECT empno, firstnme, midinit, lastname, salary '||
'FROM employee '||
'WHERE workdept = ?';
PREPARE s3 FROM stmt;
EXECUTE s3 USING deptNumber;
SET table_name = new_name;
END @
分享到:
相关推荐
"DB2 9.5 SQL Procedure Developer exam 735"是针对DB2 9.5版本的一项专业认证考试,旨在测试应试者在设计、开发和维护SQL过程方面的技能和知识。这个认证对于那些希望提升自己在数据库开发领域的专业人士来说非常...
### DB2 9.5 SQL Procedure Developer Exam 735 Prep: Part 1 - SQL Procedure Language #### 关于本教程 本教程旨在帮助您了解 IBM® DB2® 9.5 的 SQL 过程语言(SQL Procedural Language, SQLPL),包括变量、...
### DB2 SQL 消息详解 #### 一、概述 在DB2数据库系统中,SQL消息是用来帮助数据库管理员和操作人员快速定位并解决问题的重要工具。这些消息通常包含了关于执行SQL语句时出现的问题详情,包括错误代码、描述以及...
DB2存储过程是数据库管理中的一个重要概念,它是一组为了完成特定功能的SQL语句集,可以在数据库中预先编译并存储。这个教程是专为初学者设计的,旨在帮助快速掌握DB2存储过程的创建、调用以及相关概念。同时,由于...
介绍SQL PL开发,这类书比较少,希望有所帮助,说实话,DB2的Procedure开发语言比较晦涩,相比Oracle要差一些。Developer Center及其难用,V9的DWB也不怎么地。
### DB2 SQL存储过程语法官方权威指南 #### 一、概述 DB2是IBM公司推出的一款关系型数据库管理系统,广泛应用于各种大型企业级应用中。其中,存储过程是DB2中一个非常重要的特性,它允许开发者在数据库内编写可重用...
DB2 SQL 存储过程基础 DB2 SQL 存储过程基础是指在 DB2 数据库管理系统中使用 SQL 语言来创建和管理存储过程的技术。存储过程是一种特殊的数据库对象,允许开发者在服务器端编写和执行复杂的业务逻辑。 routine ...
DB2 SQL存储过程基础 DB2 存储过程是指在 DB2 服务器端编写、执行的程序单元,可以实现业务逻辑、数据处理和事务控制等功能。存储过程是一种特殊的数据库对象,能够接受输入参数、执行复杂的业务逻辑、返回结果集等...
除此之外,DB2 SQL还包括事务控制(如`BEGIN`, `COMMIT`, `ROLLBACK`)、视图创建(`CREATE VIEW`)、存储过程(`CREATE PROCEDURE`)等高级功能,使得数据库管理更加灵活和高效。在实际应用中,理解并熟练掌握这些...
《DB2ADMIN.doc:CREATE PROCEDURE详解及调用方法》 在数据库管理中,存储过程是一种预编译的SQL代码集合,它被保存在数据库中,可以被多次调用,提高了数据处理的效率和应用程序的性能。本文将深入探讨DB2数据库中...
### DB2 存储过程与触发器详解 #### 标题和描述中的知识点解析 **DB2 存储过程与触发器** 是 IBM DB2 Universal Database(UDB)中的两个重要概念,它们对于构建高性能、高可靠性的数据库应用程序至关重要。 ####...
### DB2 SQL手册第二卷知识点概述 #### 一、引言 本手册是关于IBM DB2 Universal Database(简称DB2 UDB)SQL语言使用的详细指南,适用于DB2 Version 8.2版本。作为一套完善的SQL手册,它为数据库操作与编程提供了...
DB2 SQL存储过程是数据库管理中的一个重要组成部分,它是一组SQL语句的集合,封装成一个可重用的单元,可以被当作一个函数来调用。在DB2中,存储过程能够提高应用程序的效率,减少网络流量,并提供更高级的安全控制...
在Db2中,你可以使用`CREATE PROCEDURE`语句来创建存储过程。例如,下面的示例创建了一个名为`GET_EMPLOYEE_BY_ID`的简单存储过程,它接收一个参数`emp_id`并返回相应的员工信息: ```sql CREATE PROCEDURE GET_...
### DB2_SQL入门知识点概述 #### 一、DB2简介 - **DB2**是由IBM公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理领域。 - **DB2**支持多种操作系统,如Windows、Linux、Unix等,并且能够高效...
DB2还提供了存储过程(STORED PROCEDURE)和触发器(TRIGGER),它们是预编译的SQL代码集合,可以在特定条件下自动执行,增强了数据库的灵活性和可扩展性。 最后,了解DB2的命令行界面(如db2cmd或db2cli)和图形...
在DB2中,自定义函数(Function)和存储过程(Procedure)是两种非常重要的编程元素,它们允许用户扩展数据库的功能并实现复杂的业务逻辑。下面我们将详细探讨这两个概念及其在实际应用中的样例。 **一、自定义函数...
DB2 UDB允许用户创建自定义的存储过程,通过`CREATE PROCEDURE`语句定义。触发器则是在特定数据库事件发生时自动执行的程序,如数据插入、更新或删除,用`CREATE TRIGGER`语句创建。 七、安全性与权限管理 DB2 UDB...
[ PARAMETER STYLE { GENERAL | DB2SQL } ] [ SQL PROCEDURE BODY ] ``` 接下来,我们将详细解析上述语法中的关键部分。 #### 三、存储过程名称与参数 - **procedure-name**:这是存储过程的名字,必须是唯一的...