在HSQLDB中创建存储过程

时间:2018-02-16 15:54:31

标签: stored-procedures hsqldb

我在HSQLDB中创建了一个具有以下结构的表

CREATE TABLE salary (
    emp_no INT NOT NULL,
    salary_amount INT NOT NULL,
    bonus INT NOT NULL,
    PRIMARY KEY (emp_no)
);

和下面的存储过程

CREATE PROCEDURE add_bonus_by_emp_no(IN EMP_KEY integer, IN ADDL_BONUS integer)
BEGIN 
    UPDATE salary
    SET bonus = ADDL_BONUS + bonus
    WHERE emp_no=EMP_KEY;

运行此命令时出错,收到错误

  

不需要的令牌UPDATE:ATOMIC:line:2 /错误代码-5581 / 42581

谢谢,

1 个答案:

答案 0 :(得分:0)

该消息表示您必须使用BEGIN ATOMIC。有关您需要进行的其他添加,请参阅“指南”中的示例:

http://hsqldb.org/doc/2.0/guide/sqlroutines-chapt.html#src_psm_vars