【问题标题】:Create view and use it in a single SQL script创建视图并在单个 SQL 脚本中使用它
【发布时间】:2012-10-22 07:34:05
【问题描述】:

简单的事情......我想。创建一个视图并稍后在同一个 SQL 脚本中使用它。 假设我们有一个脚本如下:

CREATE VIEW someView AS (...)
DROP VIEW someView

如果我尝试解析它 SQL 管理投诉,则会出现 DROP 错误。 如果我分别执行它们(先创建,然后删除),它们都可以正常工作。 有什么方法可以创建视图并在单个 SQL 脚本中使用它? 我可以将进一步的语句包装在字符串中然后执行它,但这有点不方便。

代码示例已修复(缺少 VIEW)

更有意义的例子:

create view TEST as (select name from spt_values where number=1);
drop view TEST

可以一次执行吗? 我得到了错误:

Msg 156, Level 15, State 1, Procedure TEST, Line 2
Incorrect syntax near the keyword 'drop'.

单独运行创建语句,然后删除视图效果很好。

【问题讨论】:

  • SQLServer 2005 + Microsoft SQL Server Management Studio 9.00.5000.00

标签: sql sql-server-2005 ssms


【解决方案1】:

GO 关键字分隔您的查询,如下查询:

CREATE VIEW someView AS ()
GO

DROP VIEW someView
GO

【讨论】:

    【解决方案2】:

    无论您使用哪个特定的 DBMS,您都应该创建一个脚本,用“;”分隔您的 SQL 语句。

    例如

    CREATE VIEW someView as (...);
    
    <<some other sql statements>>
    
    DROP VIEW someView;
    

    【讨论】:

    • 没错,但它并没有解决问题 - 以后如何在同一个脚本中使用新创建的视图。
    • 请发布更多您的脚本和您遇到的错误。
    • 创建视图 TEST 为(从 spt_values 中选择名称,其中 number=1);下降视图测试
    • 请始终更新您的原始问题,以便将整个问题陈述放在一个位置。
    猜你喜欢
    • 2020-10-15
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多