2011-12-05 106 views
0

我必須在db中編寫觸發器。我可以在觸發器中聲明變量嗎?

我想在其中聲明一些局部變量並在將值插入到表中之前執行一些操作。

使用DB2,是否可以在觸發代碼中包含局部變量?

回答

2

是的,你可以!

下面是從iSeries DB2 SQL編程manual(這往往運行LUW後面幾個版本)一些示例代碼(所有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往往落後於功能。

相關問題