sql – 关键字’with’附近的语法错误.
发布时间:2020-12-12 16:31:53 所属栏目:MsSql教程 来源:网络整理
导读:你好,我想弄清楚为什么在MSSQL中将我的兼容模式从80改为100,破坏了我的功能呢? Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (X64) Apr 22 2011 19:23:43Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) onWin
你好,我想弄清楚为什么在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 results as ( select parentouid,t2.net_ouid from net_ou t2 inner join results t1 on t1.parentouid = t2.net_ouid where t2.parentouid <> t1.net_ouid ) 给this article一个阅读,以了解为什么你需要这样做. Snipit:
就个人而言,我不会为每个CTE做这件事,但如果这样使得事情变得更容易,那就不会伤害任何东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- "SQLServer复制需要有实际的服务器名称才能连接到服务器
- 数据库 – OrbitDB,Gun,HyperDrive和BigchainDB如何相互区别
- SQL Server sql 查询记录数结果集某个区间内记录
- sql-server – 从备份SQL Server还原,只是主文件组
- sql – Oracle:更新一个字段时复制行
- sql-server – 将每日时间表分组为[开始日期;结束日期]与工
- sql-server – SQL Server十六进制数据类型
- SQL:中断查询
- sql – 批量插入Oracle数据库:哪个更好:FOR Cursor循环还
- sql – ActiveRecord连接查询并在Rails中选择