欢迎来到天天文库
浏览记录
ID:22376516
大小:60.00 KB
页数:7页
时间:2018-10-28
《sqlserver存储过程入门案例详解》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SQLServer存储过程入门案例详解>>教育资源库 问题提出 我使用过几次SQLServer,但所有与数据库的交互都是通过应用程序的编码来实现的。我不知到在哪里使用存储过程,也不了解实现存储过程需要做哪些工作。希望能详细说明。 专家答疑 存储过程是存储于数据库中的一组T-SQL语句。有了存储过程之后,与数据库的交互就没有必要在程序中写一堆的SQL语句,而只需用一条语句调用适当的存储过程来完成就可以了。另外,由于代码是存储在数据库中,我们也可以在不同的应用程序或查询窗口中不断的重复利用那些代码。下面将讲述一些简单的例子,它们将说明如何构造和
2、使用存储过程。 下面的例子将简单的说明如何创建存储过程。以下所有例子均使用AdventurePerson.Contact 创建完上面的语句后,使用下面的命令可以执行该存储过程。EXECuspGetContact 查询的结果如下: 例2–带参数的存储过程 这个例子在上个例子的基础上做了一点修改:传入了一个参数,根据传入的参数来查询相应的记录。为了更好地利用上面的例子,这次我们就不用重新再创建一个存储过程了,而是使用ALTERPROCEDURE(注意:不是CREATEPROCEDURE)来修改例1中已经创建好的存储过程。代码如下:
3、ALTERPROCEDUREuspGetContactLastNameNVARCHAR(50) AS SELECTTOP1ContactID,FirstName,LastName FROMPerson.Contact HumanResources.Employeea INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID INNERJOINPerson.ContactcONa.ContactID=c.ContactID INNERJOINPerson.Ad
4、dressdONb.AddressID=d.AddressID Person.Contact HumanResources.Employeea INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID INNERJOINPerson.ContactcONa.ContactID=c.ContactID INNERJOINPerson.AddressdONb.AddressID=d.AddressID WHEREc.ContactID=ContactID END
5、 查询结果如下:123下一页>>>>这篇文章来自..,。 例4–使用RAISERROR语句的存储过程 在这个例子中,将把例3中的2个步骤整合到一个存储过程中。存储过程的第一步是取得ContactID,第二步是查询人员的姓名和地址信息。然后添加RAISERROR语句,如果查询不到记录则返回错误信息。 RAISERROR语句可以用来控制应用程序处理无数据或其它错误的方式。将该存储过程执行2次,看看能找到数据和不能找到数据的情况下各返回什么。ALTERPROCEDUREuspGetContactLastNameNVARCHAR(50
6、) AS DECLAREContactIDINT SELECTTOP1ContactID=c.ContactID FROMHumanResources.Employeea INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID INNERJOINPerson.ContactcONa.ContactID=c.ContactID INNERJOINPerson.AddressdONb.AddressID=d.AddressID Person.Contact
7、 HumanResources.Employeea INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID INNERJOINPerson.ContactcONa.ContactID=c.ContactID INNERJOINPerson.AddressdONb.AddressID=d.AddressID HumanResources.Employeea INNERJOINHumanResources.EmployeeAddressbONa.EmployeeI
8、D=b.EmployeeID INNERJOINPerson.ContactcONa.ContactID=c.Conta
此文档下载收益归作者所有