创建视图并在单个SQL脚本中使用它

时间:2012-10-22 07:34:05

标签: sql sql-server-2005 ssms

简单的事......我想。创建一个视图,稍后在同一个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'.

单独运行create语句然后删除视图可以很好地工作。

2 个答案:

答案 0 :(得分:2)

将您的查询与GO关键字分开,例如查询:

CREATE VIEW someView AS ()
GO

DROP VIEW someView
GO

答案 1 :(得分:1)

无论您使用哪种特定的DBMS,都应该创建一个脚本,将SQL语句与';'分开。

例如

CREATE VIEW someView as (...);

<<some other sql statements>>

DROP VIEW someView;