2011-12-05 72 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往往落后于功能。

相关问题