【发布时间】:2018-03-07 09:23:58
【问题描述】:
如果 SQL Server 2016 中不存在,我想创建一个视图
IF EXISTS(SELECT 1 FROM sys.views
WHERE Name = 'VI_ALL_CITIES_AS_CATEGORY')
BEGIN
CREATE VIEW VI_ALL_CITIES_AS_CATEGORY AS
SELECT PERSONS.FIRST_NAME AS 'Име', PERSONS.LAST_NAME AS 'Фамилия', CITIES.CITY_NAME AS 'Град'
FROM CITIES
LEFT JOIN PERSONS ON CITIES.ID = PERSONS.CITY_ID ;
END
但它给了我错误:
语法错误:'CREATE VIEW' 必须是 批处理。
【问题讨论】:
-
除非我读错了你的 SQL,否则你的
EXISTS正在检查是否存在,然后你试图CREATE它。如果视图已经存在,CREATE将失败。 -
另一种解决方案:
set noexec:codereview.stackexchange.com/a/13858/40484
标签: sql sql-server ssms sql-server-2016