存储过程用例--新增、修改、删除数据

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



/*****************************************************
** PROCEDURE : pro_set_so_cust_info
** DECRIPTION: 维护客户资料信息
** DATE      : 2012-07-14
** VERSION      AUTH          DATE          Defect No			DESC
** --------  ------------  ------------  -----------------   ------------------------------
** V000.0.1    pukuimin     2012-07-14							新建程序
** --------  ------------  ------------  -----------------   -------------------------------
*******************************************************/
ALTER procedure [dbo].[pro_set_so_cust_info](  @opr_typ int , -- 1:新增 2: 修改 3:删除
									@CUST_CD  编号, --客户编号
									@CUST_NAM  varchar(200), --客户名称
									@ret varchar(20) output-- 0:成功, 其他:失败 
								 )as
begin
	declare @cust_cd2 varchar(20),
			@cur_date datetime
	set @cur_date = getdate()
	begin try
		--
		if @opr_typ = 1  -- 新增
		begin
			-- 获取编码
			exec dbo.pro_sys_generate_code 'KH', @cur_date,@cust_cd2 output  --调用其它存储过程,返回编码
			
			INSERT INTO t_so_cust_info(
				  cust_cd,
				  cust_nam,
				  )
			VALUES(
				  @cust_cd2,
				  @cust_nam,
				  )
			SELECT @ret = max(id) FROM T_SO_CUST_INFO
			
		end else
		if @opr_typ = 2 -- 修改,将之前的状态修改为0,然后新增
		begin
			SELECT @create_usr_id = create_usr_id , @cur_date = create_dtim
				FROM t_so_cust_info WHERE id = @id 
			update t_so_cust_info set stat = 0 where id = @id
			INSERT INTO t_so_cust_info(
				  cust_cd,
				  cust_nam,
				  )
		select
				  @cust_cd,
				  @cust_nam,
			from t_so_cust_info
           where id = @id 
			SELECT @ret = max(id) FROM T_SO_CUST_INFO
		end else 
		if @opr_typ = 3 -- 删除,将状态修改为0,表示不可用,不对数据库做物理删除
		begin				
				update t_so_cust_info set stat = 0 
								,LAST_UPDT_USR_ID = @LAST_UPDT_USR_ID
								,LAST_UPDT_DTIM = GETDATE()
								,STAT_DTIM = GETDATE()
				where id = @id
				
			set @ret = 0
		end
	end try
	begin catch
		set @ret = 'error:'+cast(ERROR_NUMBER() AS varchar(20))
	end catch
end


/*			测试
declare @ret varchar(20)
exec pro_set_so_cust_info           1 , -- 1:新增 2: 修改 3:删除
									'123231', --客户编号
									@ret output-- 0:成功, 其他:失败 
print @ret
*/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值