用儲存過程進行新增與修改資料
--建立新增與修改的儲存過程
--省 create
--首先定義輸入與輸出引數
--例:@uID nvarchar(50) 輸入 @i int output 輸出
--然後定義臨時儲存變數,用於儲存資料庫查詢出來的資料(此步可省)
--接著進行判斷
--例:if Exists(select * from [user] where [email protected]) 根據ID進行查詢
-- 如果有資料,就進行修改操作
-- 以下步驟可以省略 直接進行Update操作 此步操作避免多餘的Update
--select @Name=uName,@pwd=uPwd(給臨時變數賦值) from [user] where
--if((@[email protected]) and (@[email protected]))判斷使用者輸入與資料庫的值是否一樣
-- 如果一樣就不進行修改直接列印輸出
-- 否則就進行Update操作並列印輸出
-- 以上步驟可以省略 直接進行Update操作
-- 否則就進行新增並列印輸出
--使用儲存過程進行新增和修改
if object_id('proc_InsertORUpdate','p') is not null
drop proc proc_InsertORUpdate
go
create proc proc_InsertORUpdate
@uID nvarchar(50),
@uName nvarchar(50),
@uPwd nvarchar(50),
@i int output
as
declare
@Name nvarchar(50),
@pwd nvarchar(50)
--根據ID進行查詢,如果有資料進入IF
ifExists(select * from [user] where
begin
--根據ID進行查詢,有資料給變數賦值
select @Name=uName,@pwd=uPwd from [user] where [email protected]
--如果傳進來的資料跟資料庫查詢出來的資料相同,就直接列印
if((@[email protected]) and (@[email protected]))
begin
set @i=0
end
else
begin
--否則就進行修改
update [user] set [email protected],[email protected] where
set @i=2
end
end
else--否則就進行新增
begin
insert into [user](uID,uName,uPwd)values(@uID,@uName,@uPwd)
set @i=1
end