存储过程写插入语句需要注意的地方
来源:互联网 发布:共享单车市场数据 编辑:程序博客网 时间: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
@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
- 存储过程写插入语句需要注意的地方
- 执行存储过程需要注意的地方
- php写mysql语句需要注意的一个小地方
- 写代码过程中需要注意的地方
- sql 中的存储过程需要注意的地方
- hash写equals需要注意的地方
- 写lua时需要注意的地方
- 存储过程要注意的地方
- 需要注意的地方
- 需要注意的地方
- 需要注意的地方
- Mybatis 实现插入数据时需要注意的地方
- Pear 的Excel类写数据需要注意的地方
- access中使用SQL语句需要注意的几个地方
- 关于循环语句中的几个需要注意的地方
- SQL语句Group By和Having需要注意的地方
- 写正确函数需要注意的地方:strstr
- 写正确函数需要注意的地方:二分查找
- VC中用内存映射文件处理大文件与内存映射文件
- 绕过杀毒软件之一续
- Windows平台开发-四种启动其它程序的方法
- 离开黄岛,未来的日子
- 解除远程dll,屏蔽GP的方法
- 存储过程写插入语句需要注意的地方
- 关于RootKit设计思考
- ActiveX在.NET 2005中的实现(二)
- 怀疑论者的 JSF: 消除关于 JSF 的 FUD
- 深入浅出URL编码
- Code Inject的新技术
- 我最后的博克地址
- ActiveX在.NET 2005中的实现(三)
- 用web.xml控制Web应用的行为