【问题标题】:Stored Procedures for IBM DB2IBM DB2 的存储过程
【发布时间】:2014-03-10 11:12:11
【问题描述】:

我是存储过程的新手。需要为 DB2 挑选一些存储过程(我也是新手)。我写的代码不起作用:

CREATE PROCEDURE sp_test
(
    id NUMBER
)

BEGIN    
    IF NUMBER < 0 THEN
        RAISE VALUE ERROR;
    END IF;

    SELECT * FROM student_tb
    WHERE taskid = 'NUMBER';

END;
/

这是调用存储过程的脚本(另一个文件):

BEGIN 
    sp_test('15');
END;

我不确定出了什么问题。希望有人可以建议。谢谢你。

【问题讨论】:

  • “不工作”不是有效的问题描述。你得到什么错误(如果有的话)?它只是没有给你结果吗?你应该如何看到输出?我相当确定您有一个(或多个)编译错误 - 该过程是否已添加到数据库中?

标签: sql stored-procedures db2


【解决方案1】:

我不是 DB2 专家,但我很确定您必须调用 DB2 中的存储过程。

call sp_test('15');

execute (call sp_test('15'));

返回结果集的存储过程的语法可能略有不同。您的目标平台上的 DB2 文档应该解释差异。

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多