一个存储过程中调用另一个存储过程的问题(sybase数据库)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个存储过程中调用另一个存储过程的问题(sybase数据库)相关的知识,希望对你有一定的参考价值。
我现在有N个存储过程,分别用于校验N个表的字段值是否符合要求。如:--核查证件到期日是否为空
if @CHKIDVALID = ""
begin
insert into CHK_ERRLOG(A,B,C,D,E,F,G)
values(1,"XXXX","XX","XX","@XXX","证件到期日不能为空","1")
if @@error <> 0
begin
select @ERRCODE = '10'
select @ERRTEXT = '插入核查错误信息表失败'
goto mainerr
end
end
N个存储过程中都会存在同样的校验,因此我想把它抽出到一个公共的存储过程,但不知道怎么传递想要的 参数和怎么在一个存储过程调用另一个存储过程。请帮忙给出一个简单易懂的实例。
数据迁移的时候使用一次而已,不知道您说的check是什么意思?
追答数据检查,那还是要用过程来检验的
MySQL存储过程中如何遍历查询结果然后调用另一个存储过程?
【中文标题】MySQL存储过程中如何遍历查询结果然后调用另一个存储过程?【英文标题】:How to travers query results and then call the other Stored Procedure in MySQL Stored Procedure? 【发布时间】:2015-08-27 21:56:24 【问题描述】:现在我可以编写单独的存储过程了。
-- get the total query id result
select id from book where bookprice>10;
-- only pass a single id
call sp_refreshbook(id);
如何将它们合并在一起?现在我想搜索 id 结果,他们在新的 store 存储过程的结果中调用每个 id 中的 sp_refreshbook
。
【问题讨论】:
告诉我们sp_refreshbook
小狗,我们可以创建一个新的sp_refreshbookLooper
【参考方案1】:
我自己用光标解决了这个问题。
open v_result_cur;
repeat
fetch v_result_cur into v_id;
IF NOT v_done THEN
select v_id;
END IF;
until v_done end repeat;
close v_result_cur;
【讨论】:
以上是关于一个存储过程中调用另一个存储过程的问题(sybase数据库)的主要内容,如果未能解决你的问题,请参考以下文章
如何在另一个存储过程中调用一个存储过程(PHP 和 mysqli)