您好,我试图弄清楚为什么在MSSQL中将兼容模式从80切换为100会破坏下面的功能?
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (X64) Apr 22 2011 19:23:43
Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on
Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
这是我的功能:
GO
ALTER FUNCTION [dbo].[GetRoot]
(
@Param1 int
)
RETURNS varchar(50)
AS
BEGIN
DECLARE @ReturnValue varchar(50)
with results as
(
select parentouid,net_ouid from net_ou where net_ouid=@Param1
union all
select t2.parentouid,t2.net_ouid from net_ou t2
inner join results t1 on t1.parentouid = t2.net_ouid where t2.parentouid <> t1.net_ouid
)
select @ReturnValue = net_ou.displayname
from NET_OU RIGHT OUTER JOIN
results ON net_ou.net_ouid = results.ParentouID where results.parentouid=results.net_ouid
RETURN @ReturnValue
END
尝试在with前面加一个半冒号:
;with results as
(
select parentouid,net_ouid from net_ou where net_ouid=@Param1
union all
select t2.parentouid,t2.net_ouid from net_ou t2
inner join results t1 on t1.parentouid = t2.net_ouid where t2.parentouid <> t1.net_ouid
)
给这篇文章读明白,为什么你需要做到这一点。尖刺:
但是,如果CTE不是批处理中的第一条语句,则必须在WITH关键字之前加上分号。作为一种最佳实践,我宁愿在所有CTE前面加上分号,以使这种一致的方法比记住我是否需要分号更容易。
就个人而言,我不会为 每个 CTE都这样做,但是如果这对您来说使事情变得容易,则不会造成任何伤害。
堆栈跟踪: [SqlException(0x80131904):关键字“from”附近语法不正确。] System.Data.sqlclient.sqlConnection.onerror(SqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction)+1791910 System.Data.sqlClient.
我不熟悉SQL和visual studio等,但我改变了一些不允许我登录应用程序的内容。每当我按下登录按钮时,就会出现此错误 关键字“from”附近的语法不正确 这就是源头所在;
问题内容: 你好,我试图弄清楚为什么我有这个错误 关键字“表格”附近的语法不正确。 提前Thx 代码 : 问题答案: 发生这种情况是因为TABLE是T-SQL的保留关键字。 如果您确实需要使用该名称,则查询应将TABLE括在方括号中 我强烈建议更改该名称,并对该表的内容使用更具描述性的词
当我输入用户名和密码时,我收到了这个错误消息,我不知道这个错误是什么,我如何修复它。错误消息是: 关键字from附近的语法不正确。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源。 异常详细信息:系统。数据SqlClient。SqlException:关键字“from”附近的语法不正确。 源错误: 第30行:Sql命令cmd=new Sq
请帮我找出这个错误的原因 代码如下: