方案一

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. Android--Service之提高

    前言 上一篇博客讲解了一下Android下Service组件的基本使用,对Service组件还不了解的朋友可以先去看看另外一篇Service基础的博客:Android--Service之基础.这篇博客 ...

  2. greenev —— Python 异步网络服务框架

    greenev是一个基于greenlet协程,事件驱动,非阻塞socket模型的Python网络服务框架,它使得可以编写同步的代码,却得到异步执行的优点. 本项目受到gevent, openresty ...

  3. AngularJS_自定义控件_笔记1

    简介: 本篇博客是在学习AngularJS自定义控件的学习记录,作为一个学习示例... A-基本架构介绍 新建一个AngularJs的项目,大概项目结构如下: 项目结构: 大概是由:app.js,bo ...

  4. phpmyadmin创建mysql的存储过程

    通过phpmyadmin ,创建procedure, 用于生成测试数据. 随机的用户名及手机号. DELIMITER $$ CREATE PROCEDURE `sp_insert_test_users ...

  5. JavaScript匿名函数入门。

    1.第一种匿名函数的使用:简单的调用 var f=function(){ return 'Hello'; };   //匿名函数没法调用,只能赋值,所以作为赋值语句后面得加分号 var result= ...

  6. ASP.NET登录验证

    protected void btnLogin_Click(object sender, EventArgs e) { string username = txtUserName.Value.Trim ...

  7. [android] 表格布局和绝对布局

    /*****************2016年4月28日 更新*************************************/ 知乎:为什么Android没有像iOS一样提供autolay ...

  8. spring boot @ResponseBody转换JSON 时 Date 类型处理方法,Jackson和FastJson两种方式,springboot 2.0.9配置fastjson不生效官方解决办法

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式,springboot我用的1.x的版 ...

  9. Spring Security Oauth2 示例

    所有示例的依赖如下(均是SpringBoot项目) pom.xml <dependencies> <dependency> <groupId>org.springf ...

  10. Laravel 系列入门教程(三)【最适合中国人的 Laravel 教程】

    在本篇文章中,我们将尝试构建一个带后台的简单博客系统.我们将会使用到 路由.MVC.Eloquent ORM 和 blade 视图系统. 简单博客系统规划 我们在教程一中已经新建了一个继承自 Eloq ...