1. 程式人生 > >Sql Server 儲存過程 - 使用者操作例項

Sql Server 儲存過程 - 使用者操作例項

使用者的增刪改查

新增

--新增使用者
create procedure addDeviceUser
    @name nvarchar(36) ,
    @phone nvarchar(36) ,
    @password nvarchar(255)
as
begin
    if exists(select 1 from DeviceUser where [email protected]) --判斷使用者是否存在   
        select 1 from DeviceUser where 1!=1
    else
        begin
            insert into DeviceUser (id,name,phone,password) values(newid(),@name,@phone,@password)
            select id,name,phone from DeviceUser where 
[email protected]
end end --執行 exec addDeviceUser @name='testname',@phone='18800000000',@password='123'

查詢

--獲取使用者
alter procedure getDeviceUser
    @id nvarchar(36),
    @phone nvarchar(36)
as
begin
    if(@id=''and @phone='')
        select id,name,phone,isAdmin,createDate from DeviceUser where isAdmin=0 order by createDate desc
    else if(@id!='')
        select id,name,phone,isAdmin,createDate from DeviceUser where 
[email protected]
else select id,name,phone,isAdmin,createDate from DeviceUser where [email protected] end --執行 exec getDeviceUser @id='', @phone='' exec getDeviceUser @id='test guid', @phone='' exec getDeviceUser @id='', @phone='18800000000' --登入 create procedure getDeviceUserForLogin @phone nvarchar(36), @password nvarchar(255) as begin select id,name,phone,isAdmin,createDate from DeviceUser where
[email protected]
and [email protected] end exec getDeviceUserForLogin @phone='18800000000',@password='123' exec getDeviceUserForLogin @phone='18800000000',@password='123456' exec getDeviceUserForLogin @phone='18811111111',@password='123456'

更新

create procedure updateDeviceUser
    @id nvarchar(36) ,
    @name nvarchar(36) ,
    @phone nvarchar(36) ,
    @password nvarchar(255)
as
begin
    if not exists(select 1 from DeviceUser where [email protected]) --判斷使用者是否存在 
        select 1 from DeviceUser where 1!=1
    else
        begin
            update DeviceUser set [email protected],[email protected],[email protected]  where [email protected]
            select id,name,phone from DeviceUser where [email protected]
        end
end
 
--執行
exec updateDeviceUser @id='guid 1',@name='test name 1',@phone='18800000000',@password='123'
exec updateDeviceUser @id='guid 2',@name='test name 2',@phone='18811111111',@password='12345678'

刪除

create procedure deleteDeviceUser
    @id nvarchar(36)
as
delete from DeviceUser  where [email protected]