首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT教育
Google
您现在的位置: 中国IT实验室 >> Windows >> 服务器技术 >> SQL Server >> 正文

SQL Server存储过程入门案例详解

    查询结果如下:

SQL

  例 3 – 带输入和输出参数的存储过程

  这个例子中既有输入参数也有输出参数。在存储过程中查询后得到的ContactID可以利用输出参数进行回传。回传参数用户查询人员表中的其他字段,如ContactID、FirstName、LastName以及这个人的任何地址记录。

  首先,我们按如下方式修改存储过程uspGetContact。其次,运行下面代码执行该存储过程。最后,基于传回的值可以查询人员的姓名和地址等信息。

ALTER PROCEDURE uspGetContact @LastName NVARCHAR(50), @ContactID INT output
  AS
  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

  存储过程修改后,运行如下代码将执行该存储过程。如果ContactID有值,就会返回人员和地址信息。

DECLARE @ContactID INT
  SET @ContactID = 0
  EXEC uspGetContact @LastName='Smith', @ContactID=@ContactID OUTPUT
  IF @ContactID <> 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

上一页  [1] [2] [3] [4] [5] 下一页

【责编:Zenghui】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·带你领略windows系统“另类”安装
 ·“调教”磁盘,让Vista更在行
 ·windows系统性能优化专题
 ·windows系统安全——系统进程与病毒
 ·Windows 平台搭建VPN攻略…
 ·Windiws 系统备份与还原…
 ·专题:Windows Vista系统新特性…
 ·Windows server 2008专题报道…
 ·关注未来 关注Windows Vista成长…
 ·明明白白 学会Windows权限设置…
 今日更新
 认证培训
 频道精选
 Windows频道导航