首页 -> SQL Server -> 正文
来源:网络摘录 日期:2008-09-16 04:52 点击:5
查询结果如下:
例 4 – 使用RAISERROR 语句的存储过程
在这个例子中,将把例3中的2个步骤整合到一个存储过程中。存储过程的第一步是取得ContactID,第二步是查询人员的姓名和地址信息。然后添加RAISERROR语句,如果查询不到记录则返回错误信息。
RAISERROR语句可以用来控制应用程序处理无数据或其它错误的方式。将该存储过程执行2次,看看能找到数据和不能找到数据的情况下各返回什么。
|
ALTER PROCEDURE uspGetContact @LastName NVARCHAR(50) AS DECLARE @ContactID INT SELECT TOP 1 @ContactID = c.ContactID FROM HumanResources.Employee a INNER JOIN HumanResources.EmployeeAddress b ON a.EmployeeID = b.EmployeeID INNER JOIN Person.Contact c ON a.ContactID = c.ContactID INNER JOIN Person.Address d ON b.AddressID = d.AddressID WHERE c.LastName = @LastName IF @@ROWCOUNT > 0 BEGIN SELECT ContactID, FirstName, LastName FROM Person.Contact WHERE ContactID = @ContactID SELECT d.AddressLine1, d.City, d.PostalCode FROM HumanResources.Employee a INNER JOIN HumanResources.EmployeeAddress b ON a.EmployeeID = b.EmployeeID INNER JOIN Person.Contact c ON a.ContactID = c.ContactID INNER JOIN Person.Address d ON b.AddressID = d.AddressID WHERE c.ContactID = @ContactID END ELSE BEGIN RAISERROR ('No record found',10,1) END EXEC uspGetContact @LastName='Walters' |
查询结果如下:
| EXEC uspGetContact @LastName='Job' |
[JAVA 起点网]
www.startajava.com
最新内容
热门排行
站内搜索