方案一

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

标注的SQL拼接语句的更多相关文章

  1. 巧用SQL拼接语句

    前言: 在日常数据库运维过程中,可能经常会用到各种拼接语句,巧用拼接SQL可以让我们的工作方便很多,达到事半功倍的效果.本篇文章将会分享几个日常会用到的SQL拼接案例,类似的SQL还可以举一反三,探索 ...

  2. sql 针对拼接语句的优化

    在日常的开发中尽量少采用拼接语句,但针对多条件联合查询,并有多字段可以偏序的情况下,的确采用拼接语句要方便简单得多,单数据库会因为传入的参数不同而产生不同的计划数,计划数多了,对数据库影响很大. 为了 ...

  3. sql查询语句时怎么把几个字段拼接成一个字段

    sql查询语句时怎么把几个字段拼接成一个字段SELECT CAST(COLUMN1 AS VARCHAR(10)) + '-' + CAST(COLUMN2 AS VARCHAR(10) ...) a ...

  4. MySQL中limit使用动态参数的解决方法(拼接SQL字符串语句来执行SQL)

    官方好像说过limit已经在5.6版本上支持了动态参数,但是测试时依然还是不行. 那么要解决limit动态参数唯一能做的就是使用字符串SQL拼接的形式,然后再进行执行. 一般有以下方式解决: 1.存储 ...

  5. Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务

    第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...

  6. SQL拼接方法

    smark Beetle可靠.高性能的.Net Socket Tcp通讯组件 另类SQL拼接方法 在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的 ...

  7. SQL语法语句总结

    一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL ...

  8. 另类SQL拼接方法

    在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的地方就是不能对SQL进行参数化处理.下面介绍一种就算基于String +的方式也可以进行SQL参数 ...

  9. ibatis Dynamic总结(ibatis使用安全的拼接语句,动态查询)

    ibatis中使用安全的拼接语句,动态查询,ibatis比JDBC的优势之一,安全高效 说明文字在注释中 一.引入 一个小例子  <select id="selectAllProduc ...

随机推荐

  1. 华为机试001:字符串最后一个单词的长度(华为OJ001)

    华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b ...

  2. java设计模式之——工厂模式

    对于java的设计模式,我还是第一次认认真真的总结,以前用的时候都不曾留意细节,现在回头再看只知道该怎么设计,却忘记当时为嘛要用它了, 所以这次就做一个demo来再次复习总结一下,希望从中能学到新体悟 ...

  3. MySQL模糊匹配查询like、regexp、in

    MySQL提供标准的SQL模式匹配,以及一种基于像Unix实用程序,如:vi.grep和sed的扩展正则表达式模式匹配的格式 一.SQL模式(% ,_) SQL的模式匹配允许你使用“_”匹配任何单个字 ...

  4. 加密的m3u8、ts文件合并

    加密后的ts文件不能直接合并或播放,需要使用key对每个ts文件进行解密. 分为两种情况: (1).如果ts文件已经全部下载好,则可以直接在本地通过ffmpeg快速解密合并. (2).如果ts文件没有 ...

  5. DLCI 简介

    数据链路连接标识(Data Link Connection Identifier) 帧中继协议是一种统计复用的协议,它在单一物理传输线路上能够提供多条虚电路.每条虚电路都是用DLCI(Data Lin ...

  6. systemd服务详解-技术流ken

    简介 在centos5中生成和管理用户空间中的进程以及完成系统的初始化使用的是init,并且是依次启动.在centos6中则是使用的upstart,在一定程度上实现了并行启动,但是仍然存在依赖关系,到 ...

  7. lambda,linq

    一:什么是Lambda表达式 lambda表达式是实例化委托的一个参数,就是一个方法,具体实现如下: { //.NetFramework 1.0-1.1的时候这样应用 NoReturnNoPara m ...

  8. 从零开始学安全(十三)●SQL server 2008 R2 安装

    安装过程1.下载并解压 sql_server_2008_r2_enterprise 点击 setup . 2.打开后如图,点击左侧的 安装 ,再点击右边的 全新安装或向现有安装添加功能. 3.安装支持 ...

  9. 如何在 Mac上 安裝 .NET Core 2.1 ?

    一.前言 Free. Cross-platform. Open source. A developer platform for building all your apps. --- .net co ...

  10. VB.NET 使用ADODB連接資料庫滙出到EXCEL

    '導入命名空間 Imports ADODB Imports Microsoft.Office.Interop Private Sub A1() Dim Sql As StringDim Cnn As ...