使用SQLSERVER存储过程可以很大的提高程序运行速度简化编程维护难度现已得到广泛应用
存储过程其实就是保存起来的可以接受和返回用户提供的参数的TransactSQL语句的集合
可以创建一个过程供永久使用或在一个会话中临时使用(局部临时过程)或在所有会话中临时使用(全局临时过程)
也可以创建在MicrosoftSQLServer启动时自动运行的存储过程
要使用存储过程首先我们必需熟悉一些基本的TSQL语句因为存储过程是由于一组TSQL语句构成的并且我们需要了解一些关于函数过程的概念因为我们需要在应用程序中调用存储过程就像我们调用应用程序的函数一样不过调用的方法有些不同
下面我们来看一下存储过程的建立和使用方法
一创建存储过程
和数据表一样在使用之前我们需要创建存储过程它的简明语法是
引用:
CreatePROC存储过程名称
[参数列表(多个以“”分隔)]
AS
SQL语句
例
引用:
CreatePROCupGetUserName
@intUserIdINT
@ostrUserNameNVARCHAR()OUTPUT要输出的参数
AS
BEGIN
将uName的值赋给@ostrUserName变量即要输出的参数
Select@ostrUserName=uNameFROMuUserWhereuId=@intUserId
END
其中CreatePROC语句(完整语句为CreatePROCEDURE)的意思就是告诉SQLSERVER现在需要建立一个存储过程upGetUserName就是存储过程名称@intUserId和@ostrUserName分别是该存储过程的两个参数注意在SQLSERVER中所有用户定义的变量都以“@”开头OUTPUT关键字表示这个参数是用来输出的AS之后就是存储过程内容了只要将以上代码在“查询分析器”里执行一次SQLSERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程你可以打开“企业管理器”选择当前操作的数据库然后在左边的树型列表中选择“存储过程”此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有刷新一下即可)
二存储过程的调用
之前我们已经创建了一个名为“upGetUserName”的存储过程从字面理解该存储过程的功能是用来取得某一个用户的名称存储过程建立好了接下来就是要在应用程序里调用了下面看一下在ASP程序里的调用
引用:
DimadoComm
’//创建一个对象我们用来调用存储过程
SetadoComm=CreateObject("ADODBCommand")
WithadoComm
’//设置连接设adoConn为已经连接的ADODBConnection对象
ActiveConnection=adoConn
’//类型为存储过程adCmdStoredProc=
CommandType=
’//存储过程名称
CommandText="upGetUserName"
’//设置用户编号
ParametersItem("@intUserId")Value=
’//执行存储过程
Execute
’//取得从存储过程返回的用户名称
ResponseWrite"用户名"&ParametersItem("@ostrUserName")Value
EndWith
’//释放对象
SetadoComm=Nothing
通过以上两步我们已经可以创建和使用简单的存储过程了下面我们来看一个稍微复杂点的存储过程以进一步了解存储过程的应用