编写脚本提示:

错误的语法:"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. k8s-基于canel的网络策略-十九

    一.前提 上一节学习了flannel,但是我们应该了解flannel只能提供网络通讯,而不能提供网络策略.因此,我们本节学习canal,让它来提供网络策略,来配合flannel使用. canal是ca ...

  2. E20180407-hm

    queue   n. (人或车辆) 行列,长队; 辫子;   vi. (人.车等) 排队等候;   vt. (使) 排队,列队等待; compatible  adj. 兼容的,相容的; 和谐的,协调的 ...

  3. 洛谷 - P2181 - 对角线 - 打表 - 组合数学

    https://www.luogu.org/problemnew/show/P2181 对于某条对角线,除去从两端出发的对角线,其他的都与它有1个交点. 每个点有(n-3)条对角线,每条对角线和其余C ...

  4. python string类型 bytes类型 bytearray类型

    一.python3对文本和二进制数据做了区分.文本是Unicode编码,str类型,用于显示.二进制类型是bytes类型,用于存储和传输.bytes是byte的序列,而str是unicode的序列. ...

  5. 富文本编辑器vue2-editor实现全屏功能

    vue2-editor非常不错,可惜并未带全屏功能,自己实现了一个,供大家参考. 实现思路:自定义模块. 1. 定义全屏模块Fullscreen /** * 编辑器的全屏实现 */ import no ...

  6. MySql | 常用操作总结

    创建数据库: CREATE DATABASE 数据库名; 删除数据库名: drop database <数据库名>; 选择数据库: use 数据库名; 创建数据表: CREATE TABL ...

  7. 第05课 Linux命令初探(一)

    该篇为第一部分,主要介绍的Linux指令有: mkdir.cd.ls.rm.touch.vi/vim.echo.cat.cp.mv.pwd.rm.rmdir 1.创建一个目录/data 提示:Wind ...

  8. SecureCRT的配色方法

    配色后效果如下: 下面开始配色 1.首先配置成默认模式 2.终端(Terminal)==>仿真(Emulation) 按图中标注进行勾选,勾选完毕点击确认 2.选项(Options)==> ...

  9. Linux Export命令

    一.Windows 环境变量 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似 ...

  10. 514 Freedom Trail 自由之路

    详见:https://leetcode.com/problems/freedom-trail/description/ C++: class Solution { public: int findRo ...