このコードが Sql Server で機能しない理由を教えてください。
CREATE PROCEDURE sum_salaries(OUT sum INTEGER)
LANGUAGE SQL
BEGIN
DECLARE p_sum INTEGER;
DECLARE p_sal INTEGER;
DECLARE c CURSOR FOR SELECT SALARY FROM EMPLOYEE;
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';
SET p_sum = 0;
OPEN c;
FETCH FROM c INTO p_sal;
WHILE(SQLSTATE = '00000') DO
SET p_sum = p_sum + p_sal;
FETCH FROM c INTO p_sal;
END WHILE;
CLOSE c;
SET sum = p_sum;
END%
あらゆる種類のエラーが発生します。
メッセージ 102、レベル 15、状態 1、手順 sum_salaries、行 3 'OUT' 付近の構文が正しくありません。メッセージ 155、レベル 15、状態 2、手順 sum_salaries、6 行目 'INTEGER' は認識された CURSOR オプションではありません。メッセージ 155、レベル 15、状態 2、手続き sum_salaries、行 7 'INTEGER' は認識された CURSOR オプションではありません。メッセージ 155、レベル 15、状態 2、手続き sum_salaries、行 9 「CHAR」は認識された CURSOR オプションではありません。メッセージ 102、レベル 15、状態 1、手順 sum_salaries、行 15 'p_sal' 付近の構文が正しくありません。メッセージ 102、レベル 15、状態 1、手順 sum_salaries、行 17 'DO' 付近の構文が正しくありません。メッセージ 102、レベル 15、状態 1、手順 sum_salaries、行 19 'p_sal' 付近の構文が正しくありません。メッセージ 102、レベル 15、状態 1、手順 sum_salaries、行 24 '=' 付近の構文が正しくありません。
または、カーソルの使用法を教えてくれる十分な記事/サイトを教えていただければ、それも素晴らしいことです。この例は、http: //publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.apdv.routines.doc%2Fdoc%2Fc0024361.html&resultofからの抜粋です。 =%22%63%75%72%73%6f%72%22%20
事前にどうもありがとうございました!