教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
编程设计
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · Sql2000存储过程

MSSQL数据库:存储过程学习

 
学院最新推荐文章
PS教程推荐
 
『MSSQL数据库:存储过程学习』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-7-12 


 
  这个例子里面我们从两个表中取出头两行,然后合并到一个表中。

  在现实中我们常常会遇到这样的情况,在一个数据库中存在两个表,假设表1储存着公司个产品本季度销售信息,表2储存着公司本季度欠款金额情况。在一个页面中我们想把这两个信息显示出来。通常的做法是在程序中进行两次SQL查询,返回两个结果集,在分别显示出来,非常麻烦。

  下面是实现这个功能的代码:

  CREATE PROCEDURE test
  AS
   SET NOCOUNT ON --指示存储过程不返回查询影响的行数
   DECLARE @col1c varchar(20),@col2c varchar(20), @index int
   SET @index = 1
   CREATE TABLE #tmptbl --创建一个临时表,用于储存我们的结果
   (
    colID int IDENT99vY(1,1) PRIMARY KEY CLUSTERED,
    col1 varchar(20),
    col2 varchar(20)
   )

   DECLARE cur1 CURSOR FOR SELECT  TOP 2 customerid FROM orders
   DECLARE cur2 CURSOR FOR SELECT TOP 2 regiondescription FROM region
   OPEN cur1
   OPEN cur2
   FETCH cur2 INTO @col2c
   FETCH cur1 INTO @col1c
   WHILE @@FETCH_STATUS = 0
    BEGIN
     INSERT INTO #tmptbl (col1, col2) VALUES (@col1c, @col2c)
     FETCH NEXT FROM cur1 INTO @col1c
     FETCH NEXT FROM cur2 INTO @col2c
    END
   CLOSE cur1
   CLOSE cur2
   DEALLOCATE cur1
   DEALLOCATE cur2
   SELECT * FROM #tmptbl
   DROP TABLE #tmptbl
  GO

  说明:

  @@FETCH_STATUS,返回被fetch语句执行的最后游标状态。

  返回值:0-FETCH语句执行成功
      1-FETCH语句失败,或此行不再结果集中。
      2-被提取的行不存在。

 

】【关闭窗口
·上页:
·下页:
相关文章
 
     数据库类教程 - Sql2000存储过程
推荐教程停电等原因造成MSSQL2000数据库
普通教程SQL Server数据导入导出工具BCP
普通教程怎么样运用SQL2000数据库来查询
普通教程简单介绍SQL Server数据类型最大
普通教程[SQL Server]连接中地普遍错误缘
普通教程怎么样做sql server数据库地还原
推荐教程功能很好的分页存储过程,可支持
推荐教程千万数量级分页存储过程(效果演
普通教程SQL安装疑难归纳
推荐教程存储过程设计心得体会和优化措施
推荐教程SQL Server存储过程设计和优化措
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光