zoukankan      html  css  js  c++  java
  • 错误的语法:"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/
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
    如果博文对您有所收获,请点击下方的 [推荐],谢谢

  • 相关阅读:
    hdu 5392 Infoplane in Tina Town(数学)
    hdu 5391 Zball in Tina Town(打表找规律)
    poj 2251 Dungeon Master(bfs)
    hdu 5313 Bipartite Graph(dfs染色 或者 并查集)
    [转]notifyDataSetChanged() 动态更新ListView
    Android之Intent
    LinearLayout 和 RelativeLayout
    poj 2955 Brackets(区间dp)
    poj 1651 Multiplication Puzzle(区间dp)
    poj 3186 Treats for the Cows(区间dp)
  • 原文地址:https://www.cnblogs.com/Zev_Fung/p/8135737.html
Copyright © 2011-2022 走看看