DB2 存储过程 - 遍历值?
DB2 Stored Procedures- looping through values?
好的,所以我是编写存储过程的新手。我正在尝试执行类似于您在编程语言中看到的 foreach() 的功能。现在我有一个 temp table 填充了我想要循环的值。我想(对于此 table 中的每个值)基于该值执行 SQL 语句。所以,这是我的伪代码来说明我真正想要的是什么:
foreach(value in my temp table) {
SELECT * FROM TABLE WHERE column_x = value
}
不,我对存储过程一无所知,那么我该如何完成呢?到目前为止,这是我的脚本:
DROP TABLE SESSION.X;
CREATE GLOBAL TEMPORARY TABLE
SESSION.X (
TD_NAME CHAR(30)
);
INSERT INTO
SESSION.X
SELECT DISTINCT
TD_NAME
FROM
DBA.AFFIN_PROG_REPORT
WHERE
TD_NAME IS NOT NULL;
非常感谢任何帮助!
例如,您需要一个游标。
看例子:
请参阅文档:https://msdn.microsoft.com/pt-br/library/ms180169(v=sql.120).aspx
好的,所以我是编写存储过程的新手。我正在尝试执行类似于您在编程语言中看到的 foreach() 的功能。现在我有一个 temp table 填充了我想要循环的值。我想(对于此 table 中的每个值)基于该值执行 SQL 语句。所以,这是我的伪代码来说明我真正想要的是什么:
foreach(value in my temp table) {
SELECT * FROM TABLE WHERE column_x = value
}
不,我对存储过程一无所知,那么我该如何完成呢?到目前为止,这是我的脚本:
DROP TABLE SESSION.X;
CREATE GLOBAL TEMPORARY TABLE
SESSION.X (
TD_NAME CHAR(30)
);
INSERT INTO
SESSION.X
SELECT DISTINCT
TD_NAME
FROM
DBA.AFFIN_PROG_REPORT
WHERE
TD_NAME IS NOT NULL;
非常感谢任何帮助!
例如,您需要一个游标。
看例子:
请参阅文档:https://msdn.microsoft.com/pt-br/library/ms180169(v=sql.120).aspx