1

好的,所以我是编写存储过程的新手。我正在尝试执行类似于您在编程语言中看到的 foreach() 的功能。现在我有一个临时表,里面填充了我想要循环的值。我想(对于此表中的每个值)基于该值执行 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;

很感谢任何形式的帮助!

4

1 回答 1

0

例如,您需要一个光标。

查看示例:https
://stackoverflow.com/a/4975012/3428749 查看文档:https ://msdn.microsoft.com/pt-br/library/ms180169(v=sql.120).aspx

于 2016-02-12T17:47:06.373 回答