1

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

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

错误:

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

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

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

结果:

TABLE_NAME
oas_AppVend

有任何想法吗?

4

1 回答 1

2

该错误仅仅是因为您编写的脚本还不够。SQL 引擎仍然需要知道 if 之后要做什么。

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

注意:即使上面的代码也会返回一个错误,直到您将有效的 sql 语句放入我提到的块中。如果您对 else 有想要的结果,它看起来像这样,但在您真正完成之前,这不是一个有效的陈述。

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
于 2012-06-21T18:33:32.367 回答