2011-12-05 14 views
0

私はdbでトリガーを書く必要があります。私はトリガ内の変数を宣言できますか?

ローカル変数を宣言して、値をテーブルに挿入する前にいくつかの操作を行いたいと思っていました。

DB2を使用すると、ローカル変数をトリガーコード内に入れることは可能ですか?

答えて

2

はいできます!

はここ(LUWの背後にあるいくつかのバージョンを実行する傾向がある)manualプログラミングのiSeries DB2 SQLからいくつかのサンプルコード(すべてのSQLで)です:

CREATE TRIGGER TransactionBeforeTrigger BEFORE INSERT ON TransactionTable 
REFERENCING NEW AS new_row 
FOR EACH ROW MODE DB2ROW 
BEGIN 
DECLARE newmonth SMALLINT; -- Here's the decleration 
SET newmonth = MONTH(new_row.DateOfTransaction); 
IF newmonth < 4 THEN 
    SET new_row.FiscalQuarter=3; 
ELSEIF newmonth < 7 THEN 
    SET new_row.FiscalQuarter=4; 
ELSEIF newmonth < 10 THEN 
    SET new_row.FiscalQuarter=1; 
ELSE 
    SET new_row.FiscalQuarter=2; 
END 
+0

私はそれを試してみます。ありがとう – Ammu

0

それはプラットフォームに依存します。 z/OSプラットフォームの場合、答えは不可能です。 z/OSは、他のプラットフォームと比較して機能が遅れがちです。

関連する問題