例: ローカル変数、カーソル、および条件ハンドラ宣言を持つプロシージャの作成 - Teradata Database - Teradata Vantage NewSQL Engine - 例: ローカル変数、カーソル、および条件ハンドラ宣言を持つプロシージャの作成、CREATE PROCEDURE (SQL形式)およびREPLACE PROCEDURE (SQL形式) SQL文

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

次の例では、sp_sample3という名前のプロシージャを作成するCREATE PROCEDURE文を示します。ローカル変数宣言、カーソル宣言、および条件ハンドラ宣言を使用します。

    CREATE PROCEDURE sp_sample3(OUT p1 CHARACTER(80))
    BEGIN
       DECLARE i INTEGER; 
       DECLARE emp_cursor CURSOR WITHOUT RETURN FOR
          SELECT emp_name, salary FROM emp_details ORDER BY dept_code;
       DECLARE dept_cursor CURSOR WITHOUT RETURN FOR
          SELECT dept_name from department;
          DECLARE EXIT HANDLER
          FOR sqlstate '42000'
          BEGIN
           OPEN emp_cursor;
           SET p1='FAILED TO INSERT ROW';
          END;
       DECLARE CONTINUE HANDLER
          FOR SQLSTATE value '23505'
          BEGIN
           SET p1='FAILED TO INSERT ROW';
          END;
       DECLARE CONTINUE HANDLER
          FOR SQLEXCEPTION 
          BEGIN
            SET p1='FAILED TO INSERT ROW';
          END;
       INSERT INTO table1 VALUES(1000,'aaa');
    END;