在一个存储过程里面执行另一个存储过程的应用
2010-03-31 14:08
302 查看
代码
代码
ALTER PROCEDURE [dbo].[VoucherOutBound_BackInsurance]
-- Add the parameters for the stored procedure here
@IU_Id int,
@ICC_ID int,
@IC_ID int,
@UV_CurrentNO varchar(25),
@UV_VMoney decimal(18,2)
AS
DECLARE @snum bigint, @fnum bigint,@VO_StartNumber varchar(25),@outNumber varchar(25),@newCuid bigint,@nextVum varchar(25),@dt datetime,@count int
BEGIN tran
--查询需要插入的下一条记录
set @snum = CAST(substring(@outNumber,7,len(@outNumber)) as bigint)+1
set @nextVum =substring(@outNumber,1,6) + REPLICATE('0',len(@outNumber)-len(@snum)-6)+ cast(@snum as varchar(16))
set @dt=getdate()
--执行添加的存储过程
a_Add 这个是存储过程的名,后面的都是参数 ,@count=@count 这个是输出参数
EXEC a_Add @IC_Id=@IC_Id,@ICC_Id=@ICC_Id,@VO_StartNumber=@outNumber,@VO_StopNumber=@outNumber,@VO_Number=1,@IU_Id=@IU_Id,@VO_CreateDate=@dt,@VO_State=2,@VO_NextOutNum=@nextVum,@count=@count
EXEC b_Add @IC_Id=@IC_Id,@ICC_Id=@ICC_Id,@VC_VoucherNumber=@UV_CurrentNO,@VC_Underwrite=@dt,@IU_Id=@IU_Id,@VC_CreateDate=@dt,@count=@count
if(@@ERROR<>0)
BEGIN
PRINT '有错误,回滚'
ROLLBACK tran --事务回滚语句
END
ELSE
BEGIN
PRINT '成功,提交'
COMMIT tran --事务提交语句
end
代码
ALTER PROCEDURE [dbo].[VoucherOutBound_BackInsurance]
-- Add the parameters for the stored procedure here
@IU_Id int,
@ICC_ID int,
@IC_ID int,
@UV_CurrentNO varchar(25),
@UV_VMoney decimal(18,2)
AS
DECLARE @snum bigint, @fnum bigint,@VO_StartNumber varchar(25),@outNumber varchar(25),@newCuid bigint,@nextVum varchar(25),@dt datetime,@count int
BEGIN tran
--查询需要插入的下一条记录
set @snum = CAST(substring(@outNumber,7,len(@outNumber)) as bigint)+1
set @nextVum =substring(@outNumber,1,6) + REPLICATE('0',len(@outNumber)-len(@snum)-6)+ cast(@snum as varchar(16))
set @dt=getdate()
--执行添加的存储过程
a_Add 这个是存储过程的名,后面的都是参数 ,@count=@count 这个是输出参数
EXEC a_Add @IC_Id=@IC_Id,@ICC_Id=@ICC_Id,@VO_StartNumber=@outNumber,@VO_StopNumber=@outNumber,@VO_Number=1,@IU_Id=@IU_Id,@VO_CreateDate=@dt,@VO_State=2,@VO_NextOutNum=@nextVum,@count=@count
EXEC b_Add @IC_Id=@IC_Id,@ICC_Id=@ICC_Id,@VC_VoucherNumber=@UV_CurrentNO,@VC_Underwrite=@dt,@IU_Id=@IU_Id,@VC_CreateDate=@dt,@count=@count
if(@@ERROR<>0)
BEGIN
PRINT '有错误,回滚'
ROLLBACK tran --事务回滚语句
END
ELSE
BEGIN
PRINT '成功,提交'
COMMIT tran --事务提交语句
end
相关文章推荐
- C#执行带参数的存储过程一个事例
- 在sql2000中,一个存储过程中调用另一个存储过程的实现方法
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- mysql如何让一个存储过程定时执行
- 一个项目要实现和Windows日志交互,需要在Northwind数据库里面生成如下存储过程的脚本!
- SQL : 如何完全复制一个服务器上的数据库A到另一个服务器上的数据库B(包括库A的所有表、试图、存储过程等等)
- sql的存储过程实例--动态根据表数据复制一个表的数据到另一个表
- 最简单 的 一个存储过程的详细建立与执行 (刚刚学习 做点笔记)
- (转载)oracle 在一个存储过程中调用另一个返回游标的存储过程
- mysql怎么让一个存储过程定时执行
- 存储过程将一个表中的一个字段值更新到另一个表相同字段,
- MYSQL写的一个定时执行的存储过程,仅供参考
- 一个存储过程:带参数动态执行sql语句:Execute Immediate
- 一个通用的分页存储过程实现-SqlServer(附上sql源码,一键执行即刻搭建运行环境)
- VB6:编写一个分析sqlserver存储过程执行语句"execute procedurename par1,par2,......."语法是否正确的函数
- SQL server 2008里面通过sys.dm_exec_procedure_stats得到存储过程的执行信息--转
- SQL作业--让数据库定期执行一个存储过程
- 发现一个Exec执行执行存储过程的问题
- 做一个串行执行的存储过程
- 在main函数里面执行一个返回false的函数过程中遇到的坑