存储过程写插入语句需要注意的地方

来源:互联网 发布:共享单车市场数据 编辑:程序博客网 时间:2024/05/16 10:35

一般在往数据库里插入一条新记录的时候,都要判断该记录是否已经存在.比如说一张登录信息表,用户帐号当然是要唯一的,所以在添加一条新的用户帐号时,必须先判断该表中是否已经存在该帐号了.否则.......(那就太混乱拉!)

下面就以一个用户登录表为例子写了一个在存储过程中判断用户是否存在的实现插入功能的存储过程.

ALTER PROCEDURE dbo.PR_UserAdd
    
    
@userName nvarchar(50), --用户名
    @userPassword  nvarchar(50)--密码
    
AS
    
declare @count int 
    
    
SET NOCOUNT ON
    
    
--判断该用户名是否已经存在,若存在,则@count=1,若不存在,则@count=0
    select @count=count(*from [UserInfo] where UserName=@userName
    
    
if(@count=0--如果不存在
    
    
begin
    
--向UserInfo表中插入一条记录
    insert into [UserInfo](UserName,UserPassword) values(@UserName,@UserPassword);
    
    
SET NOCOUNT OFF
    
    
RETURN @@identity --返回刚插入的这条记录的主键UserID,因为主键ID一般都是整型自动编号的,所以可以用这种方法获得刚插入的这条记录的ID
    
    
end
    
    
else --如果已经存在
    
    
begin
    
    
SET NOCOUNT OFF
    
    
RETURN 0 --已经存在,则返回0
    
    
end

经验慢慢积累,知识越来越多.

                                      -----XXXX

原创粉丝点击