from:http://lwlzyjl.cnblogs.com/
方法一:
SQLSERVER 实现带参数的游标CREATE   TABLE   #tabTmp(id   int)  
SQLSERVER 实现带参数的游标  
INSERT   #tabTmp   EXECUTE('SELECT   id   FROM   '+@TableName)  
SQLSERVER 实现带参数的游标   
SQLSERVER 实现带参数的游标  
declare   curOne   cursor   for    
SQLSERVER 实现带参数的游标  
SELECT   id   FROM   #tabTmp  
SQLSERVER 实现带参数的游标  
open   curOne  
SQLSERVER 实现带参数的游标  
FETCH   NEXT   from   curOne   into     @ID

方法二:

SQLSERVER 实现带参数的游标exec('
SQLSERVER 实现带参数的游标    declare curOne cursor global
SQLSERVER 实现带参数的游标     for
' + @aSql);
       declare @str nvarchar(20);
SQLSERVER 实现带参数的游标    
open curOne 
SQLSERVER 实现带参数的游标    
fetch  curOne into @str;
       while(@@fetch_status=0)
       begin
       ...
      
fetch  curOne into @str;
       end;
       close curone;
       deallocate curone;

相比之下ORACLE用起来真是直观很多
  CURSOR   c_get_f_name  
              (  
                  id   INT  
              )  
            IS    
              SELECT   F_ID,   F_NAME  
                  FROM   F_INFO  
                  WHERE   (F_ID   IN(  
                                              SELECT   F_ID  
                                                  FROM   A_DOT  
                                                  WHERE   (A_ID   =   id)));

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
  • 2021-10-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2021-09-10
  • 2021-07-27
相关资源
相似解决方案