CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

关于存储过程调用存储过程的问题(着急呀!):

楼主fucaibao(付彩宝)2006-03-14 20:56:18 在 MS-SQL Server / 疑难问题 提问

关于存储过程调用存储过程的问题(着急呀!):  
    代码如下:  
    存储过程1:  
    /*  
      获取外语情况  
  */  
  IF   EXISTS   (SELECT   name   FROM   sysobjects    
                    WHERE   name   =   'TSQL_languageProc'   AND   type   =   'P')  
        DROP   PROCEDURE   TSQL_languageProc  
  GO  
   
  create   procedure   TSQL_languageProc    
  @forLangType   varchar(100)='null'   output,  
  @expertID         int  
  as  
  begin  
        declare   @itemvalue   varchar(30)  
        declare   c   insensitive   cursor   for   SELECT   forLangType   FROM   subtbForLangType,tbExpertForLang   WHERE   subtbForLangType.forLangTypeID=tbExpertForLang.forLangTypeID   AND   expertID=@expertID  
        open   c  
        fetch   next   from   c   into   @itemvalue  
        if   @@FETCH_STATUS   =   0      
          set   @forLangType   =   @itemvalue    
        while   @@FETCH_STATUS   =   0  
        begin  
            fetch   next   from   c   into   @itemvalue  
          if   @@FETCH_STATUS   =   0  
            set   @forLangType   =   @forLangType+','+   @itemvalue  
        end  
        close   c  
        deallocate   c  
  end  
   
    存储过程2:  
       
  /*  
      调用其他存储过程  
  */  
  IF   EXISTS   (SELECT   name   FROM   sysobjects    
                    WHERE   name   =   'TSQL_expert'   AND   type   =   'P')  
        DROP   PROCEDURE   TSQL_expert  
  GO  
   
  create   procedure   TSQL_expert  
  as  
  begin  
        declare   @expertID   int  
        declare   @expertID_temp   int  
   
        --变量声明  
        declare   @forLangType_item     varchar(30)       --外语  
   
         
        declare   c_main   insensitive   cursor   for   SELECT   expertID   FROM   tbExpert    
        open   c_main  
        fetch   next   from   c_main   into   @expertID_temp  
        if   @@FETCH_STATUS   =   0      
            begin     ----------------begin------------------  
          ------------------------------处理开始---------------------------------------------  
        --设置@expertID  
        set   @expertID=@expertID_temp  
        select     @expertID_temp  
        ------------------------------处理结束-------------------------------------------------  
            end         ----------------end------------------  
        while   @@FETCH_STATUS   =   0  
        begin  
            fetch   next   from   c_main   into   @expertID_temp  
          if   @@FETCH_STATUS   =   0  
            begin     ----------------begin------------------  
  ------------------------------处理开始---------------------------------------  
        --设置@expertID  
        set   @expertID=@expertID_temp  
        --对外语的处理(调用)  
        exec   TSQL_languageProc   @forLangType=@forLangType_item   OUTPUT,@expertID=@expertID  
        select   @expertID_temp,@forLangType_item  
        ------------------------------处理结束----------------------------------------------  
            end         ----------------end------------------  
        end  
        close   c_main  
        deallocate   c_main  
   
  问题是:存储过程2输出的结果只有两条,而我的tbExpert表中有二十多条记录!  
  调试了好长时间了!  
  问题点数:20、回复次数:3Top

1 楼mm2love2zz(never stop.)回复于 2006-03-14 23:41:19 得分 10

open   c_main  
        fetch   next   from   c_main   into   @expertID_temp  
        while   @@FETCH_STATUS   =   0      
            begin  
                ………………  
                fetch   next   from   c_main   into   @expertID_temp     --循环  
            end  
  close   c_main  
  deallocate   c_mainTop

2 楼mm2love2zz(never stop.)回复于 2006-03-14 23:42:11 得分 10

你的存储过程好象不循环,格式检查下~Top

3 楼fucaibao(付彩宝)回复于 2006-03-15 10:40:09 得分 0

我如果不掉用存储过程1的话,是循环的我试过了,麻烦您再看看吧....Top

相关问题

  • 存储过程调用存储过程
  • 存储过程的调用!
  • vb 调用存储过程
  • asp调用存储过程
  • asp调用存储过程
  • ASP调用存储过程...
  • ASP调用存储过程??
  • PowerBuilder8.0中如何调用Sql Server中的带有参数的存储过程呢,急呀!
  • 急呀,高分求助,一个调用存储过程的小问题。。。在线等
  • 急呀,高分求助,一个调用存储过程的小问题。。。在线等

关键词

  • 存储过程
  • forlangtype
  • expertid
  • 调用
  • itemvalue
  • tsql
  • fetch
  • status
  • next
  • procedure

得分解答快速导航

  • 帖主:fucaibao
  • mm2love2zz
  • mm2love2zz

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo