[color=blue]声明两个with是以,分割就可以了[/color]

ALTER PROCEDURE [dbo].[sp_getDrOfmoduleCodeTrace]
(
@vob nvarchar(255),
@version nvarchar(255)
)
AS
BEGIN
SET NOCOUNT ON;
-- +-split-+代表的是换行符
set @vob = replace(@vob,'+-split-+',char(10));
--程序传过来的vob是分隔符是/,而数据库中vob分隔符是\
set @vob = replace(@vob,'/','\');
print @vob;
DECLARE @RunSQL nvarchar(MAX);
--统计表
declare @mctTable varchar(255);
--link表
declare @linkTable varchar(255);
declare @StoryTable varchar(255);
declare @RMTable varchar(255);

set @mctTable = 'E3_MODULE_STATISTIC_' + @version;
set @linkTable = 'E3_LINK_' + @version;
set @StoryTable = 'IKNOW_STORY_' + @version;
set @RMTable = 'IKNOW_RMPUBLISHTREE_' + @version;

--如果所需要的表不存在,则存储过程结束
IF not EXISTS (SELECT * FROM sysobjects WHERE name = @mctTable)
return;
else if not EXISTS (SELECT * FROM sysobjects WHERE name = @linkTable)
return;
else if not EXISTS (SELECT * FROM sysobjects WHERE name = @StoryTable)
return;

set @RunSQL = '
[color=blue]with vob
as
(
select distinct realvob from E3_MODULE_STATISTIC_U2000V1R8C00
where vob = ''' + @vob + '''
),
dr_code[/color]
as
(
select distinct drcode from ' + @StoryTable + ' a
inner join ' + @RMTable + ' b
on a.drcode = b.rmid
where jirakey in
(
select distinct destid from ' + @linkTable + ' a
where DESTTYPE=''STORY'' and
exists(
select * from vob b
where a.SOURCEID like b.realvob + ''%''
)
) and drcode !='''''
+ ')
select ITEMGUID as id,name,tdtname,creator,CREATIONDATE as createddate,''DR'' as type,''' + @version + ''' as version from ' + @RMTable + '
where rmid in(select * from dr_code)';

EXECUTE SP_EXECUTESQL @RunSQL;
END

sqlserver-with相关推荐

  1. Mysql,SqlServer,Oracle主键自动增长的设置

    Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...

  2. oracle手工启动,SQLSERVER服务手工启动 批处理文件

    不比2000有个 开关的程序 所以上网找了下教程 自己写个批处理 自动启动服务 哇哈哈 突然觉得 只要有网络 语言不是啥大的障碍 写起来都差不多呀 哇哈哈 话说最近又加了个ORACLE的服务 依然偷懒 ...

  3. SQLServer 系统表

    SQLServer 系统表 http://blog.163.com/zangyunling@126/blog/static/1646245052010101641620415/ http://www. ...

  4. mysql和sqlserver共存_mysql 和sqlserver的 多行合并成一行

    mysql 和sqlserver的 多行合并成一行 mysql  多行合并: mysql 内置函数 group_concat(exper  SEPARATOR " " ) expe ...

  5. sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?

    很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...

  6. 看懂SqlServer查询计划(转)

    转自:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 对于SqlServer的优化来说,可能优化查询是很常见的事情.关于数 ...

  7. sqlserver导入excel的电话号码(身份证)变为科学计数解决方式

    如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...

  8. 通过sqlserver日志恢复误删除的数据

    通过sqlserver日志恢复误删除的数据 原文:通过sqlserver日志恢复误删除的数据 如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题 ...

  9. 在SQLserver数据库里设置作业的步骤

    在SQLserver数据库里设置作业(对数据库的表定期进行数据清理)的步骤 1.首先,要打开sql server代理的服务,在我的电脑,右键管理的服务打开,SQL Server 代理 (MSSQLSE ...

  10. 获取SQLServer数据库中所有表

    对于获取SQLSERVER数据库中所有表,首先第一步引有SQLDMO.dll 找到文件路径: C:\Program   Files\Microsoft   SQL   Server\80\Tools\ ...

最新文章

  1. 51CTO -- 网络自学的瓶颈期
  2. Element Select下拉框 选中后视图没有渲染等问题
  3. 编写下载服务器。 第四部分:有效地实现HEAD操作
  4. 数据结构与算法:动态数组(利用万能指针实现任意类型数组操作)
  5. MacOS 安装 Telnet
  6. Spring Cloud 微服务实战系列-Ribbon入门RestTemplate 介绍
  7. css3的cursor
  8. 前端学HTTP之客户端识别和cookie
  9. Bitmap Style Designer非官方说明
  10. python的ctype调用_Python 使用ctypes调用 C 函数
  11. Kotlin——高级篇(四):集合(Array、List、Set、Map)基础
  12. 三阶贝塞尔曲线选点_贝塞尔曲线
  13. 计量经济学计算机答案第三章课后答案,庞皓计量经济学第2版课后习题答案
  14. android手机变为usb无线网卡,淘汰的手机别扔,简单几步变无线网卡
  15. Hadoop 集群在WebUI界面不能下载文件
  16. 《Learning without Forgetting》 论文阅读笔记
  17. 华海清科在科创板上市:2020年扭亏为盈,清华为实际控制人
  18. 花书 第十九章 第二十章
  19. 华为鸿蒙os和小米ov,稳了,华为鸿蒙手机 OS 发布!小米也能用?
  20. 10大主流压力测试工具

热门文章

  1. c语言extend作用,extend
  2. shell解析json之jq工具
  3. 冰冰学习笔记:进程概念
  4. 用GPU加速python代码的运算速度
  5. 我们做了一款AI口语外教,寻找测试用户
  6. zabbix监控主机及邮箱报警设置
  7. 加固加壳脱壳分析(2)_脱壳原理和一些脱壳机分析
  8. 自定义搜索引擎_如何创建自己的自定义Google搜索引擎
  9. 1553B的进阶之路——RT模式
  10. ZGC垃圾收集器(-XX:+UseZGC)