Sql 关键字';宣布';创建视图时
在SSMS上创建视图时遇到问题。如果我运行一个查询,它可以正常运行,但我无法将其保存为视图。 以下是前几行,因为我认为其余几行不会太相关:Sql 关键字';宣布';创建视图时,sql,sql-server,ssms,Sql,Sql Server,Ssms,在SSMS上创建视图时遇到问题。如果我运行一个查询,它可以正常运行,但我无法将其保存为视图。 以下是前几行,因为我认为其余几行不会太相关: DECLARE @dayName VARCHAR(9) DECLARE @current INT DECLARE @previous INT SET @dayName = DATEName(DW, GETDATE()) IF (@dayName = 'Saturday') BEGIN SET @current = 1 SET @previous = 2
DECLARE @dayName VARCHAR(9)
DECLARE @current INT
DECLARE @previous INT
SET @dayName = DATEName(DW, GETDATE())
IF
(@dayName = 'Saturday')
BEGIN
SET @current = 1
SET @previous = 2
END
ELSE IF
(@dayName = 'Sunday')
BEGIN
SET @current = 2
SET @previous = 3
END
ELSE
IF(@dayName = 'Monday')
BEGIN
SET @current = 0
SET @previous = 3
END
SELECT DATE, BRAND, MODEL, EAN, SUPPLIER_CATEGORY, FAMILY, FAMILY_PER_EAN, SUM(UNITS) AS UNITS
FROM ...
然后,当我尝试将其保存到视图中时,会出现以下错误:
关键字“DECLARE”附近的语法不正确
您能告诉我我做错了什么吗。谢谢。错误信息很清楚,您的语法不正确,请参阅语法和示例
如果您确实需要使用这些变量,您可以使用,甚至是错误消息很清楚,您的语法不正确,请参阅语法和示例
如果您真的需要使用这些变量,您可以使用,甚至可以使用您是正确的。视图中不允许使用局部变量 可以在表值函数中设置局部变量,该函数返回结果集(与视图一样)
你是对的。视图中不允许使用局部变量 可以在表值函数中设置局部变量,该函数返回结果集(与视图一样)
无法在此脚本上创建
视图。请看以下主题:
您必须在sql server中创建存储过程
或多语句表值函数
:
关键是,您可以在多语句表值函数
上选择
,但如果要在存储过程
上选择,则必须使用open query。但是,我建议您不要使用open query。您不能在此脚本上创建视图。请看以下主题:
您必须在sql server中创建存储过程
或多语句表值函数
:
关键是,您可以在多语句表值函数
上选择
,但如果要在存储过程
上选择,则必须使用open query。但是,我建议您不要使用open query。您不能在视图中声明变量。改为使用存储过程
或函数
。您是否在视图中声明了这些变量?如果是这样,您就不能这样做,因为视图总是期望SELECT
语句,您可以改为使用函数。SQL Server中的视图不支持变量。只能使用单个SELECT语句(包括通用表表达式)。不能在视图中声明变量。改为使用存储过程
或函数
。您是否在视图中声明了这些变量?如果是这样,您就不能这样做,因为视图总是期望SELECT
语句,您可以改为使用函数。SQL Server中的视图不支持变量。只能使用单个SELECT语句(包括通用表表达式)。