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
  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    set常见操作:
    select 不存在字段,并设置默认值
    c#为字段设置默认值,以及构造函数初始化List对象。
    ThreadLocal
  • 原文地址:https://www.cnblogs.com/blogs2014/p/7246096.html
Copyright © 2011-2022 走看看