zoukankan      html  css  js  c++  java
  • 标注的SQL拼接语句

    方案一

    exec sp_executesql N'
           SELECT T0.[WtmCode], T3.[opCode], T3.[opValue], T3.[CondId]
            FROM  [dbo].[OWTM] T0  INNER  JOIN [dbo].[WTM1] T1  ON  T1.[WtmCode] = T0.[WtmCode]   
            INNER  JOIN [dbo].[WTM3] T2  ON  T2.[WtmCode] = T0.[WtmCode]   
            INNER  JOIN [dbo].[WTM4] T3  ON  T3.[WtmCode] = T0.[WtmCode]   
            WHERE T1.[UserID] = (@P1)  AND  T2.[TransType] = (@P2)  AND  T3.[CondId] = (@P3)  
            AND  T0.[Conds] = (@P4)  AND  T0.[Active] = (@P5)  '
            ,N'@P1 int,@P2 nvarchar(254),@P3 int,@P4 nvarchar(254),@P5 nvarchar(254)',1,N'17',1,N'Y',N'Y'

    方案二

    IF @UserCmpType='D'
            BEGIN
                SET @sameContent='FROM dmsSaleOPORPJD  T1 '
                SET @sameContent2='FROM dmsSaleOPORPJD1  T1 '
                SET @sameContent3='FROM dmsSaleOPORPJD2  T1 '
                SET @sameContent4='FROM dmsSaleOPORPJD3  T1 '
            END
            
            ELSE IF @UserCmpType='R'
            BEGIN
                SET @sameContent='FROM dmsSaleOPORPJR  T1 '
                SET @sameContent2='FROM dmsSaleOPORPJR1  T1 '
                SET @sameContent3='FROM dmsSaleOPORPJR2  T1 '
                SET @sameContent4='FROM dmsSaleOPORPJR3  T1 '
            END
            
            IF @ActionGroup='Approval'
            BEGIN
                SET @sameContent1='T1.APPStatus=''正在审批'''
            END
            
            ELSE IF @ActionGroup='ToDelivery'
            BEGIN
                SET @sameContent1='T1.APPStatus=''已通过'' AND T1.[Status]=''待发货'''
            END
            
            
            IF @ActionType='Main'
            BEGIN
                SET @SQL='
                SELECT 
                T1.ID [Id]
                ,T1.DOCENTRY [DocEntry] 
                ,T1.CardName [CardName]
                ,CONVERT(NVARCHAR(10),T1.DocDay,23) [DocDay]
                ,convert(decimal(18,2),T1.RecDocTotal) [RecDocTotal]
                ,CASE ISNULL(T1.ShipAddress,'''') WHEN '''' THEN T1.CollectLogistics 
                    ELSE T1.ShipAddress END [ShipAddress]
                '+@sameContent+'
                WHERE  '+@sameContent1+'
                AND T1.CmpCode=@UserCmpCode
                ORDER BY T1.DocDay ASC
                '
            END
    EXEC SP_EXECUTESQL @stmt=@SQL,@params=N'@ActionGroup NVARCHAR(50),@UserCmpCode NVARCHAR(50),@Id INT'
            ,@ActionGroup=@ActionGroup,@UserCmpCode=@UserCmpCode,@Id=@Id
  • 相关阅读:
    [java]Java中父类强制转换成子类的原则
    基于 JWT + Refresh Token 的用户认证实践
    [java]idea设置及debug使用
    [java]Class类和Object类的关系
    [java]文件操作
    [java]javabean
    [java]string类型
    [java]求数据的hmac sha1的并用base64编码
    java 多线程——一个定时调度的例子
    设计模式 4 —— 迭代器和组合模式(组合)
  • 原文地址:https://www.cnblogs.com/blogs2014/p/7246096.html
Copyright © 2011-2022 走看看