SQL Server存储过程入门案例详解
2008-08-09 09:55:00 来源:WEB开发网查询结果如下:
EXECuspGetContact@LastName='Job'
当第一步查询无数据时,整个存储过程的执行结果如下:
例 5 -调用存储过程的存储过程
这个例子中有2个存储过程。第一个存储过程uspFindContact查找第一条带有地址信息的记录并将ContactID返回给调用它的存储过程,然后显示人员和地址信息。
CREATEPROCEDUREuspFindContact@LastNameNVARCHAR(50),@ContactIDINToutput
AS
SELECTTOP1@ContactID=c.ContactID
FROMHumanResources.Employeea
INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID
INNERJOINPerson.ContactcONa.ContactID=c.ContactID
INNERJOINPerson.AddressdONb.AddressID=d.AddressID
WHEREc.LastName=@LastName
下面的代码对uspGetContact做了一点修改:调用uspFindContact并返回结果集。
ALTERPROCEDUREuspGetContact@LastNameNVARCHAR(50)
AS
DECLARE@ContactIDINT
SET@ContactID=0
EXECuspFindContact@LastName=@LastName,@ContactID=@ContactIDOUTPUT
IF@ContactID<>0
BEGIN
SELECTContactID,FirstName,LastName
FROMPerson.Contact
WHEREContactID=@ContactID
SELECTd.AddressLine1,d.City,d.PostalCode
FROMHumanResources.Employeea
INNERJOINHumanResources.EmployeeAddressbONa.EmployeeID=b.EmployeeID
INNERJOINPerson.ContactcONa.ContactID=c.ContactID
INNERJOINPerson.AddressdONb.AddressID=d.AddressID
WHEREc.ContactID=@ContactID
END
ELSE
BEGIN
RAISERROR('Norecordfound',10,1)
END
EXECuspGetContact@LastName='Walters'
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接