- PR -

DB2にてストアドプロシージャを実行する方法

1
投稿者投稿内容
butthead
大ベテラン
会議室デビュー日: 2004/01/14
投稿数: 162
投稿日時: 2004-06-17 00:52
すいません。ほんとに簡単なストアドプロシージャでいいので、
実行させるようなもの(コード)を教えてください。
OracleとかSQLServerではCreate Procedureでいいのに、
DB2はCで書かないといけないとか設定がいろいろ必要とか
あるため、混乱しております。
どのようにしたら他のデータベースでできるストアドプロシージャを実行できるのかについて教えてくださいませ。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2004-06-17 06:44
DB2ストアドプロシージャーはDDL単体で記述することができます。
JAVAまたはCで書くことも可能です。
DDLのみで記述するのであれば特に設定は必要ありません。

-- DDL
CREATE PROCEDURE UPDATE_SALARY_1 (IN EMPLOYEE_NUMBER CHAR(10), IN RATE DECIMAL(6,2))
LANGUAGE SQL
MODIFIES SQL DATA
UPDATE EMP SET SALARY = SALARY + RATE WHERE EMPNO = EMPLOYEE_NUMBER;
-- 呼び出し
CALL UPDATE_SALARY_1('ABC1234567', 10.12);
skulker
ベテラン
会議室デビュー日: 2004/06/08
投稿数: 67
投稿日時: 2004-06-17 09:52
DB2のストアードプロシージャ(SQLプロシージャ)は内部的にはCプログラムとしてコンパイル・保管されるので CREATE PROCUDURE を行う時にコンパイラが必要です。DB2レジストリー変数にもコンパイラのパスを設定する必要があります。
DB2のバージョンによって多少違いはあります。
InfoCenterをご覧になるといいんじゃないでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)