错误的语法:"create view必须是批处理中仅有的语句"
编写脚本提示:
错误的语法:"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必须是批处理中仅有的语句"的更多相关文章
- 转载解决:错误的语法:”XXXX“必须是批处理中仅有的语句
SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE 语句开始.也就是说一个查询分析器里面只有一个批处理语句才是规范的语 ...
- 解决:错误的语法:”XXXX“必须是批处理中仅有的语句
原文:解决:错误的语法:”XXXX“必须是批处理中仅有的语句 SQL Server 数据库提示“错误的语法:”XXXX“必须是批处理中仅有的语句”报错的原因分析 解析:批处理必须以 CREATE ...
- [SQL Server 视图的创建- (create view必须是批处理中仅有的语句问题)]
当我们SQL Server在创建视图时 ,会出现"create view 必须是批处理中仅有的语句"这个语法错误提示 ,实际上这本身没什么错! 因为create view 必须是批 ...
- 【转】dos下 和 批处理中的 for 语句的基本用法
for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是这样的: 在cmd 窗口中:for %I in (command1) do command2 在批处理文件中:for % ...
- dos下 和 批处理中的 for 语句的基本用法
for 语句的基本用法 : 最复杂的for 语句,也有其基本形态,它的模样是这样的: 在cmd 窗口中:for %I in (command1) do command2 在批处理文件中:for % ...
- 批处理学习:for语句详解【经典】
大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...
- 批处理学习:for语句详解
大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...
- Create view failed with ORA-01031:insufficient privileges
有时候在ORACLE数据库创建视图时会遇到:ORA-01031:insufficient privileges错误,我也多次碰到了各种创建视图出错的情况,很多时候也没有太在意,今天被一同事问起这个问题 ...
- C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令
如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...
随机推荐
- k8s-高级调度方式-二十一
两类: 节点选择器:nodeSelector(给node打上标签,pod通过标签预选节点),nodeName 节点亲和调度:nodeAffinity 1.节点选择器(nodeSelector,node ...
- (链接)Tomcat设置Session的失效方式
tomcat 设置session过期时间(四种方式):https://blog.csdn.net/liuxiao723846/article/details/50055075 tomcat里设置ses ...
- keepalived 原理、安装与使用
1. keepalived工作原理 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived是以VRRP协议为实现基础的, ...
- 弹射起步~django
sudo apt-get installl tree 开始创建工作目录 django-admin.py startproject mysite 创建一个名为 mysite的子目录,然后我们通过tree ...
- [BZOJ4064/Cerc2012]The Dragon and the knights
Description 与当地鞋匠协会发生冲突的瓦维尔城堡的龙决定将它的狩猎场移出克拉科夫以减少敌对的邻居数量.现在他正在给和平而宁静的Bytes王国带来灾难与恐怖. 在Bytes王国有n条河流,每一 ...
- HTML入门与基础 —— 标签《一》
一.标签概述 1.HTML(英文Hyper Text Markup Language的缩写)中文译为“超文本标签语言”,主要是通过HTML标签对网页中的文本.图片.声音等内容进行描述. 2.标签分为嵌 ...
- D. Taxes 哥德巴赫猜想
http://codeforces.com/contest/735/problem/D 这题其实我还不是很懂,那个只是猜想,然而却用了. 只想说说找到第一小于n的素数这种思路是不行的. 121 = 1 ...
- 配置组件的 props
组件是相互独立.可复用的单元,一个组件可能在不同地方被用到.但是在不同的场景下对这个组件的需求可能会根据情况有所不同,例如一个点赞按钮组件,在我这里需要它显示的文本是“点赞”和“取消”,当别的同事拿过 ...
- 基于pymysql模块的增删改查
上课笔记 重点:(熟练)多表查询创建存储过程原生sql索引原理 pymysql 封装好的客户端cursor 底层就是一个send操作commit 告诉mysql真的要完成修改操作(不然修改不会生效)e ...
- JS进阶-闭包的几种常见形式
作用域链: //作用域链 var a = 1; function test() { var b =2; return a; } alert(test());//弹出1: alert(b);//不能获取 ...