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

来源:互联网 发布:软件开发费 税点 编辑:程序博客网 时间:2024/05/22 07:55
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo/******************************************************* PROCEDURE : pro_set_so_cust_info** DECRIPTION: 维护客户资料信息** DATE      : 2012-07-14** VERSION      AUTH          DATE          Defect NoDESC** --------  ------------  ------------  -----------------   ------------------------------** 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:成功, 其他:失败  )asbegindeclare @cust_cd2 varchar(20),@cur_date datetimeset @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_INFOend elseif @opr_typ = 2 -- 修改,将之前的状态修改为0,然后新增beginSELECT @create_usr_id = create_usr_id , @cur_date = create_dtimFROM t_so_cust_info WHERE id = @id update t_so_cust_info set stat = 0 where id = @idINSERT 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_INFOend else if @opr_typ = 3 -- 删除,将状态修改为0,表示不可用,不对数据库做物理删除beginupdate t_so_cust_info set stat = 0 ,LAST_UPDT_USR_ID = @LAST_UPDT_USR_ID,LAST_UPDT_DTIM = GETDATE(),STAT_DTIM = GETDATE()where id = @idset @ret = 0endend trybegin catchset @ret = 'error:'+cast(ERROR_NUMBER() AS varchar(20))end catchend/*测试declare @ret varchar(20)exec pro_set_so_cust_info           1 , -- 1:新增 2: 修改 3:删除'123231', --客户编号@ret output-- 0:成功, 其他:失败 print @ret*/


 

原创粉丝点击