更新SQL Server 2008视图

时间:2012-06-21 17:49:19

标签: sql-server sql-server-2008

我正在尝试更新SQL Server 2008视图,当我运行以下脚本时,我收到以下错误。

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_NAME = 'oas_AppVend')

ERROR:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ')'.

如果我像下面那样运行sript(没有,如果没有括号),结果显示“VIEW”。

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_NAME = 'oas_AppVend'

结果:

TABLE_NAME
oas_AppVend

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

该错误仅仅是因为你编写的脚本是不够的。在if。

之后,SQL引擎仍然需要知道该怎么做
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS  
WHERE TABLE_NAME = 'oas_AppVend') 
BEGIN 
   /* VALID SQL STATEMENT MUST EXIST HERE */
END

注意:即使上面的代码都会返回错误,直到您将有效的sql语句放入我注意到的块中。如果你有一个期望的结果,那么它将会是这样的,但是在你真正完成它之前,这不是一个有效的声明。

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS  
WHERE TABLE_NAME = 'oas_AppVend') 
BEGIN 
   /* VALID SQL STATEMENT MUST EXIST HERE */
END
ELSE
BEGIN
   /* DO SOMETHING ELSE */
END