程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQLServer用存儲進程完成拔出更新數據示例

SQLServer用存儲進程完成拔出更新數據示例

編輯:MSSQL

SQLServer用存儲進程完成拔出更新數據示例。本站提示廣大學習愛好者:(SQLServer用存儲進程完成拔出更新數據示例)文章只能為提供參考,不一定能成為您想要的結果。以下是SQLServer用存儲進程完成拔出更新數據示例正文


完成

1)有雷同的數據,直接前往(前往值:0);

2)有主鍵雷同,然則數據分歧的數據,停止更新處置(前往值:2);

3)沒稀有據,停止拔出數據處置(前往值:1)。

【創立存儲進程】

Create proc Insert_Update 

@Id varchar(20), 

@Name varchar(20), 

@Telephone varchar(20), 

@Address varchar(20), 

@Job varchar(20), 

@returnValue int output 

as 

declare 

@tmpName varchar(20), 

@tmpTelephone varchar(20),


@tmpJob varchar(20),

@tmpAddress varchar(20)

if exists(select * from dbo.DemoData where id=@Id) 

begin 

select @tmpName=Name,@tmpTelephone=Telephone,@tmpAddress=Address,@tmpJob=Job from dbo.DemoData where id=@Id 

if ((@tmpName=@Name) and (@tmpTelephone=@Telephone) and (@tmpAddress=@Address)and (@tmpJob=@Job)) 

begin 

set @returnValue=0 --有雷同的數據,直接前往值 

end 

else 

begin 

update dbo.DemoData set Name=@Name,Telephone=@Telephone,Address=@Address,Job=@Job where id=@Id 

set @returnValue=2 --有主鍵雷同的數據,停止更新處置 

end 

end 

else 

begin 

insert into dbo.DemoData values(@Id,@Name,@Telephone,@Address,@Job) 

set @returnValue=1 --沒有雷同的數據,停止拔出處置 

end

【履行方法】

declare @returnValue int 
exec Insert_Update '15','hugh15','3823345','長安街','副部長',@returnValue output 
select @returnValue

前往值0,曾經存在雷同的

前往值1,拔出勝利

前往值2,更新勝利

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved