• 错误的语法:"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
    学习,以记之。如有错漏,欢迎指正

    作者:冯子武
    出处:http://www.cnblogs.com/Zev_Fung/
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
    如果博文对您有所收获,请点击下方的 [推荐],谢谢

  • 相关阅读:
    C++ std::stack 基本用法
    linux6 安装 ntopng
    linux 6安装 redis2.6
    Linux6搭建Tomcat服务器
    EXSI6.5忘记root密码
    python3笔记--数字
    python3笔记--运算符
    python3基本数据类型
    python3笔记
    centos6.X升级python3.X方法
  • 原文地址:https://www.cnblogs.com/Zev_Fung/p/8135737.html
Copyright © 2020-2023  润新知