我注意到Sybase SQL Anywhere支持它们,但是在ASE上也找不到任何关于ASE的文档。
如果没有,那么设计递归查询的最佳选择是什么?在SQL Server 2008中,我会使用CTE进行此操作,但如果这不可用?也许一个功能?
Sybase ASE 12.5(以及15.0)不支持CTE。
您可以使用内部查询来解决您的问题。
这样一个简单的CTE:
WITH Sales_CTE (Folders_Id)
AS
-- Define the CTE query.
(
SELECT Folders_Id FROM Folders
)
SELECT Folders_Id FROM Sales_CTE
与此相同:
SELECT aux.Folders_Id
FROM (SELECT Folders_Id FROM Folders) aux
有关更多信息,请查看qazxsw poi!
您可以使用函数来提供CTE的功能,但不要这样做。函数用于不同的,面向列的目的,代码受这些约束的约束。它是标量,适用于构造列值。存储过程和CTE是面向行的。