1

CURSOR%NOTFOUNDTeradataにある Oracle に相当するものは何ですか?

そうでない場合、以下のコードを変換して Teradata で実行するにはどうすればよいですか。

OPEN OPEN_CUR1;
   LOOP
      FETCH OPEN_CUR1 INTO ... some variables ...;
      EXIT WHEN OPEN_CUR1%NOTFOUND;
CLOSE OPEN_CUR1;

ありがとう

4

1 に答える 1

3

Teradata での CURSOR 処理/動作の詳細については、http://www.info.teradata.com/do_redirect.cfm? itemid=062280010 の 47 ページを参照してください。

OPEN_CUR1%NOTFOUND基本的に、Teradata の from Oracle に相当するのは、toとtoSQLSTATEが設定されていることです。これを処理するには、49、76、192-198、405 ff ページを確認できます。上記の文書の。7362SQLCODE'02000'

編集 - コメントによると:

49ページの例から

CREATE PROCEDURE sp1 (OUT par1 CHARACTER(50))
BEGIN
DECLARE var1 INTEGER;
DECLARE projcursor CURSOR FOR
SELECT projid, projectdesc
FROM project;
OPEN projcursor;
WHILE (SQLCODE = 0)
FETCH projcursor INTO var1, par1;
END WHILE;
FETCH projcursor INTO var1, par1;
CLOSE projcursor;
END;

彼らWHILE (SQLCODE = 0)は基本的に「すべてが順調で、データが利用可能である間」という意味を使用します。

于 2011-11-01T07:43:07.707 に答える