要利用存储历程,起首我们必须熟习一些基础的T-SQL语句,由于存储历程是因为一组T-SQL语句组成的,而且,我们必要懂得一些关于函数、历程的观点,由于我们必要在使用程序中挪用存储历程,就像我们挪用使用程序的函数一样,不外挪用的办法有些分歧。
上面我们来看一下存储历程的创建和利用办法。
1、创立存储历程
和数据表一样,在利用之前我们必要创立存储历程,它的简明语法是:
援用:
CREATEPROC存储历程称号
[参数列表(多个以“,”分开)]
AS
SQL语句
例:
援用:
CREATEPROCupGetUserName
@intUserIdINT,
@ostrUserNameNVARCHAR(20)OUTPUT--要输入的参数
AS
BEGIN
--将uName的值赋给@ostrUserName变量,即要输入的参数
SELECT@ostrUserName=uNameFROMuUserWHEREuId=@intUserId
END
经由过程以上两步,我们已能够创立和利用复杂的存储历程了。上面我们来看一个略微庞大点的存储历程,以进一步懂得存储历程的使用。
3、存储历程的实践使用
用户登录在ASP项目中常常会利用到,信任良多伴侣也都做过相似的体系,但利用存储历程来做考证伴侣大概未几,那末我们就以它来做例子,写一个复杂的用户登录考证的存储历程。
援用:
CREATEPROCupUserLogin
@strLoginNameNVARCHAR(20),
@strLoginPwdNVARCHAR(20),
@blnReturnBITOUTPUT
AS
--界说一个一时用来保留暗码的变量
DECLARE@strPwdNVARCHAR(20)
BEGIN
--从表中查询以后用户的暗码,赋值给@strPwd变量,上面要对他举行对照
SELECT@strPwd=uLoginPwdFROMuUserWHEREuLoginName=@strLoginName
IF@strLoginPwd=@strPwd
BEGIN
SET@blnReturn=1
--更新用户最初登录工夫
UPDATEuUserSETuLastLogin=GETDATE()WHEREuLoginName=@strLoginName
END
ELSE
SET@blnReturn=0
END
经由过程以上的步骤,复杂用户登录考证历程也做完了,如今只需把它整合到程序中就能够完成复杂的用户登录考证了,关于其他细节就由你本人来处置了。
下面先容的两个存储历程都是只前往一个值的,上面我们来看一个前往一个纪录集的存储历程。
援用:
CREATEPROCupGetUserInfos
@intUserGroupINT
AS
BEGIN
--从数据库中抽取切合前提的数据
SELECTuName,uGroup,uLastLoginFROMuUserWHEREuGroup=@intUserGroup
--拔出一列算计
UNION
SELECT算计人数:,COUNT(uGroup),NULLFROMuUserWHEREuGroup=@intUserGroup
END