编写脚本提示:

错误的语法:"create view必须是批处理中仅有的语句"

IF NOT EXISTS ( SELECT  1
FROM sys.views
WHERE name = 'v_CS_UserRoleNames' )
BEGIN
CREATE VIEW v_CS_UserRoleNames
AS
SELECT c.UserID AS ur_UserID ,
c.LoginID AS ur_LoginID ,
c.FullName AS ur_FullName ,
c.[Status] AS ur_Status ,
c.ZoneID AS ur_ZoneID ,
c.OrgID AS ur_OrgID ,
c.FactID AS ur_FactID ,
','
+ STUFF(( SELECT ',' + b.RoleName
+ CAST(b.RoleMajorType AS VARCHAR)
FROM System_Role b
WHERE CHARINDEX(','
+ CONVERT(VARCHAR(36), b.RoleID)
+ ',', ',' + c.RoleIDs + ',') > 0
FOR
XML PATH('')
), 1, 1, '') + ',' AS ur_RoleNames
FROM System_Users c
END ELSE
BEGIN ALTER VIEW v_CS_UserRoleNames
AS
SELECT c.UserID AS ur_UserID ,
c.LoginID AS ur_LoginID ,
c.FullName AS ur_FullName ,
c.[Status] AS ur_Status ,
c.ZoneID AS ur_ZoneID ,
c.OrgID AS ur_OrgID ,
c.FactID AS ur_FactID ,
','
+ STUFF(( SELECT ',' + b.RoleName
+ CAST(b.RoleMajorType AS VARCHAR)
FROM System_Role b
WHERE CHARINDEX(','
+ CONVERT(VARCHAR(36), b.RoleID)
+ ',', ',' + c.RoleIDs + ',') > 0
FOR
XML PATH('')
), 1, 1, '') + ',' AS ur_RoleNames
FROM System_Users c
END

create view 必须是批处理中的第一条语句。

修改为:

IF NOT EXISTS ( SELECT  1
FROM sys.views
WHERE name = 'v_CS_UserRoleNames' )
BEGIN
DROP VIEW v_CS_UserRoleNames END go
CREATE VIEW v_CS_UserRoleNames
AS
SELECT c.UserID AS ur_UserID ,
c.LoginID AS ur_LoginID ,
c.FullName AS ur_FullName ,
c.[Status] AS ur_Status ,
c.ZoneID AS ur_ZoneID ,
c.OrgID AS ur_OrgID ,
c.FactID AS ur_FactID ,
','
+ STUFF(( SELECT ',' + b.RoleName
+ CAST(b.RoleMajorType AS VARCHAR)
FROM System_Role b
WHERE CHARINDEX(',' + CONVERT(VARCHAR(36), b.RoleID)
+ ',', ',' + c.RoleIDs + ',') > 0
FOR
XML PATH('')
), 1, 1, '') + ',' AS ur_RoleNames
FROM System_Users c

错误的语法:"create view必须是批处理中仅有的语句"的更多相关文章

  1. 转载解决:错误的语法:”XXXX“必须是批处理中仅有的语句

    SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE 语句开始.也就是说一个查询分析器里面只有一个批处理语句才是规范的语 ...

  2. 解决:错误的语法:”XXXX“必须是批处理中仅有的语句

    原文:解决:错误的语法:”XXXX“必须是批处理中仅有的语句   SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE ...

  3. [SQL Server 视图的创建- (create view必须是批处理中仅有的语句问题)]

    当我们SQL Server在创建视图时 ,会出现"create view 必须是批处理中仅有的语句"这个语法错误提示 ,实际上这本身没什么错! 因为create view 必须是批 ...

  4. 【转】dos下 和 批处理中的 for 语句的基本用法

    for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是这样的:   在cmd 窗口中:for %I in (command1) do command2 在批处理文件中:for % ...

  5. dos下 和 批处理中的 for 语句的基本用法

    for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是这样的:   在cmd 窗口中:for %I in (command1) do command2 在批处理文件中:for % ...

  6. 批处理学习:for语句详解【经典】

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  7. 批处理学习:for语句详解

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  8. Create view failed with ORA-01031:insufficient privileges

    有时候在ORACLE数据库创建视图时会遇到:ORA-01031:insufficient privileges错误,我也多次碰到了各种创建视图出错的情况,很多时候也没有太在意,今天被一同事问起这个问题 ...

  9. C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令

    如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...

随机推荐

  1. 一个NodeJS写的基于MVC的服务器

    目前实现了静态文件下载.根据地址导航到控制器相应的控制器方法,但视图模版功能目前还未实现. 服务器代码(httpserver.js): var http = require("http&qu ...

  2. Spring Boot 学习系列(序)—Spring Boot

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Spring Boot? Spring Boot 是由pivotal团队提供的一个基于Spring的全新框架 ...

  3. 洛谷 P4719 【模板】动态dp【动态dp】

    是动态dp的板子 大致思想就是用g[u]来表示不包含重链转移的dp值,然后用线段树维护重链,这样线段树的根就相当于这条重链的top的真实dp值 每次修改的时候,修改x点会影响到x到根的真实dp值,但是 ...

  4. Luogu2261[CQOI2007]余数求和 【数论】By cellur925

    题目传送门 省选题竟然送了这么多分,60分直接暴力算就行.(算了,07年的省选) 数学题嘛,通常我们需要把式子展开,然后寻找一些性质化简=w=. 展开式以及寻找规律的过程lyd老师讲的很清楚T_T,放 ...

  5. 使用pytesseract识别验证码,报错WindowsError: [Error 2]

    问题现象: 按照网上的方式进行代码编写,使用pytesseract模块,然后导入指定图片进行解析,报错WindowsError: [Error 2] 问题原因: 源代码里面的路径设置错误,这里有一个坑 ...

  6. 跟我一起玩Win32开发(15):ListView控件

    这个控件其实不用阿拉来介绍,因为它太常见了,就好像我们一出门就会看到妹子一样常见.当然也可以说,它是对ListBox的扩充. 在使用该控件之前,我先介绍VS的一个相当好玩的功能. 在代码文件的#inc ...

  7. [转]Adaboost 算法的原理与推导

    看了很多篇解释关于Adaboost的博文,觉得这篇写得很好,因此转载来自己的博客中,以便学习和查阅. 原文地址:<Adaboost 算法的原理与推导>,主要内容可分为三块,Adaboost ...

  8. import和from .xxx import *的一点重要区别

    import zzz 不会导入zzz中已导入的模块 from .xxx import * 会导入xxx中已导入的模块 特别注意: 使用logging时,x模块导入了log.py,y模块导入了log.p ...

  9. java 替换字符串模板(模板渲染)

    java渲染字符串模板,也就是说在java字符串模板中设置变量字符串,使用变量去渲染指定模板中设置好的变量字符串.下面介绍4种替换模板方式: 1.使用内置String.format String me ...

  10. canvas画饼图

    <style> body {    background: black;    text-align: center; } #cans {    background: white; } ...