我必须在db中编写一个触发器。
我想在其中声明一些局部变量,并在将值插入表之前进行一些操作。
使用DB2,是否可以在触发器代码中包含局部变量?
答案 0 :(得分:2)
是的,你可以!
以下是来自iSeries DB2 SQL编程manual的一些示例代码(All in SQL)(它往往会在LUW后面运行几个版本):
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
答案 1 :(得分:0)
这取决于平台。对于z / OS平台,答案是否定的。与其他平台相比,z / OS往往落后于功能。