知道为什么这段代码在 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 行“整数”不是公认的 CURSOR 选项。消息 155,级别 15,状态 2,过程 sum_salaries,第 7 行“整数”不是公认的 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
非常感谢您!