SQL存储过程

今天学习了一下存储过程。

存储过程的基本语法不知道的可以问百度大神,在这儿就不写了。

根据语句,自己摸索着写了一个简单的存储过程(根据用户名密码,返回用户的id),代码如下:

GO
CREATEPROC CheckUser
@UserNamevarchar(200), --用户名 --要指定长度!要指定长度!
@UserPwdvarchar(200), --密码
@UserIDint OUTPUT --OUT或者OUTPUT都可以
AS
BEGIN
SELECT@UserID=UserID FROM UserInfo WHERE UserName=@UserNameAND UserPwd=@UserPwd
END

调用此存储过程:

--调用存储过程
DECLARE@IDint
EXEC CheckUser 'admin','123',@ID OUT --传出参数后面要跟OUTPUT
SELECT@ID

总结:

写出来并成功调用也不是很顺利,中间遇到几个问题在后边说一下,贴出来的代码中我也注释了。

1.写存储过程的时候,参数如果是varchar等,后边要跟长度。不然虽然不提示错误,但是查询不到值。

2.存储过程中的带OUTPUT的参数,后边调用的时候也要跟上OUTPUT。不然也查询不到。

3.OUTPUT可以简写成OUT。


菜鸟,如有错误,欢迎指出。 :-)

原文地址:https://www.cnblogs.com/sirkevin/p/2074497.html