zoukankan      html  css  js  c++  java
  • 动态sql

    1.普通动态

    set @sql='select count(*) from A'

    exec  @sql

    2.给变量赋值

      DECLARE @nOldDlyOrder INT,@execsql nVARCHAR(800)
      SET @execsql='SELECT  @nOldDlyOrder1=CopySdlyorder FROM dlyother where DlyOrder=4'   
      exec sp_executesql @execsql,N'@nOldDlyOrder1 int output ',@nOldDlyOrder output   
          print @nOldDlyOrder 

    select @execsql='SELECT @nOldDlyOrder=CopySdlyorder FROM dlyother where DlyOrder=4'

    EXEC (@execsql) --这种语句会报错 @nOldDlyOrder未定义

    3.动态定义游标

        IF(@IsSaveCodeSL=0)
                BEGIN
                    select @execsql='declare My_cursor1 cursor for '
                    +' SELECT pggoodsidcodes.PtypeId,pggoodsidcodes.KtypeId,pggoodsidcodes.goodsorderid,pggoodsidcodes.SLtypeid,cltypeid,COUNT(1) pgholInqty,SUM(CAST(opgDetail AS NUMERIC(22,10)) ) qty FROM dbo.pggoodsidcodes WHERE  oldDlyOrder='+CAST(@nOldDlyOrder AS varchar(10)) +  '    GROUP BY   pggoodsidcodes.PtypeId,pggoodsidcodes.KtypeId,goodsorderid,SLtypeid,cltypeid '
                    EXEC (@execsql)
                END
            ELSE
                BEGIN
                    select @execsql='declare My_cursor1 cursor for '
                    +' SELECT pggoodsidcodes.PtypeId,pggoodsidcodes.KtypeId,pggoodsidcodes.goodsorderid,pggoodsidcodes.SLtypeid,cltypeid,COUNT(1) pgholInqty,SUM(CAST(opgDetail AS NUMERIC(22,10)) ) qty FROM #pgStock LEFT join dbo.pggoodsidcodes ON #pgStock.lpgIDCode=pggoodsidcodes.pgIDCode GROUP BY   pggoodsidcodes.PtypeId,pggoodsidcodes.KtypeId,goodsorderid,SLtypeid,cltypeid  '
                    EXEC (@execsql)
                END
                
                OPEN My_cursor1
                    fetch next from My_cursor1 into @slPtypeId,@slKtypeId,@slgoodsorderid ,@slSLtypeid ,@slcltypeid ,@slpgholInqty ,@slqty 
                    while @@FETCH_STATUS=0
                    BEGIN
                            DELETE     FROM GoodsStocksCL WHERE Qty<=0                                                        
                            FETCH next from My_cursor1 into  @slPtypeId,@slKtypeId,@slgoodsorderid ,@slSLtypeid ,@slcltypeid ,@slpgholInqty ,@slqty 
                    end    
                        CLOSE My_cursor1
                    DEALLOCATE My_cursor1
  • 相关阅读:
    python大战机器学习——聚类和EM算法
    python大战机器学习——数据降维
    机器学习(西瓜书)——绪论
    算法设计与分析-HomeWork
    SocLib的安装
    CSS的IE6、IE7、FF兼容性写法
    CSS content内容生成技术以及应用
    js javascript:void(0) 真正含义
    Google Chrome七大新特性
    CSS中文字体对照表
  • 原文地址:https://www.cnblogs.com/yyl001/p/15660503.html
Copyright © 2011-2022 走看看