我正在尝试使用以下方式创建视图:
IF OBJECT_ID('dbo.zestaw_zam_fak') IS NULL
CREATE VIEW AS
SELECT ....
FROM ....
UNION
SELECT .....
FROM....
UNION
SELECT ...
FROM ...
但是我收到了一个错误:
无法解析查询文本
关键字VIEW附近的语法不正确。
如果没有语句'IF OBJECT_ID('dbo.zestaw_zam_fak') IS NULL
,则视图会正确创建。
我做错了什么?
答案 0 :(得分:3)
您必须将CREATE
语句包装到EXEC('your create statement')
中。否则它将无法在IF
示例:强>
IF OBJECT_ID('dbo.vwCity') IS NULL
BEGIN
EXECUTE('CREATE VIEW [dbo].[vwCity]
AS
SELECT *
FROM dbo.City')
END
答案 1 :(得分:1)
IF Object_ID('dbo.TestView') IS NOT NULL
DROP VIEW dbo.TestView;
GO
CREATE VIEW dbo.TestView
as
SELECT 1 AS Col1;
或者,您可以使用动态SQL。