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

简介: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go /***************************************************** ** PROCEDURE...
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
*/


 

相关文章
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
127 0
|
6月前
|
存储 SQL 关系型数据库
MySQL周内训参照4、触发器-插入-修改-删除
MySQL周内训参照4、触发器-插入-修改-删除
45 1
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——触发器-介绍、语法(创建,查看,删除)
MySQL数据库——触发器-介绍、语法(创建,查看,删除)
191 0
|
7月前
|
存储 SQL 定位技术
数据库基础(五):存储过程与触发器的创建、执行、修改、删除
数据库基础(五):存储过程与触发器的创建、执行、修改、删除
186 1
|
7月前
|
SQL 关系型数据库 MySQL
『 MySQL数据库 』CRUD之UD,表的数据更新(修改)及删除
『 MySQL数据库 』CRUD之UD,表的数据更新(修改)及删除
|
SQL C# uml
C# SQL添加数据,删除数据,修改数据,查询数据
C# SQL添加数据,删除数据,修改数据,查询数据
218 0
C# SQL添加数据,删除数据,修改数据,查询数据
|
关系型数据库 MySQL 数据库
MySQL数据库:创建一个表,并执行插入、修改和删除数据操作
MySQL数据库:创建一个表,并执行插入、修改和删除数据操作
271 0
MySQL数据库:创建一个表,并执行插入、修改和删除数据操作
|
存储 SQL 数据库
DM8数据库批量创建表,插入数据,更改表信息,删除测试
在测试产品的功能和性能的时候需要大量数据表,我们可以通过**游标**和**存储过程**批量创建测试表,插入测试数据,更改测试表,删除测试表。
|
SQL 存储 数据库
SQL 基础(二)数据表的创建、约束、修改、查看、删除
SQL 基础(二)数据表的创建、约束、修改、查看、删除
271 0
SQL 基础(二)数据表的创建、约束、修改、查看、删除
下一篇
无影云桌面