插入或更新数据并返回ID的存储过程
ALTER proc [dbo].[sp_Insert_User]
@Name varchar(20),
@Age tinyint,
@return int output, --0:已存在 1:修改成功 2:插入成功
@returnID int output --返回用户ID
as
declare
@tmpName varchar(20),
@tmpAge tinyint
if exists(select * from [User] where Name=@Name and Age=@Age)
begin
set @return=0 --数据相同,直接返回
end
else if exists(select * from [User] where Name=@Name)
begin
update [User] set Age=@Age where Name=@Name
set @return=1 --姓名存在,修改数据
end
else
begin
insert into [User](Name, Age) values(@Name,@Age)
set @return=2 --插入数据
set @returnID=@@IDENTITY
end
浙公网安备 33010602011771号