Return 来自内联值 table 的常量 table
Return a constant table from Inline-valued table
是否可以从 IVT return 一个常量 table?现在我使用的是常规 table,函数只是 return 从这个 table 中获取数据并进行一些额外的操作。
所以我想return一个table
Value
-----
0,265433
0,0629412
0,671626
我试过这样的事情:
ALTER FUNCTION [dbo].[GetEigenvector]
(
)
RETURNS TABLE
AS
RETURN
(
SELECT Value = (SELECT 0,265433 UNION ALL
SELECT 0,0629412 UNION ALL
SELECT 0,671626)
)
但它抛出一个错误:
Only one expression can be specified in the select list when the
subquery is not introduced with EXISTS.
您弄乱了为您的列指定别名的语法:
ALTER FUNCTION [dbo].[GetEigenvector]
(
)
RETURNS TABLE
AS
RETURN
(
SELECT 0.265433 AS Value
UNION ALL
SELECT 0.0629412
UNION ALL
SELECT 0.671626
)
另一种语法:
alter function [dbo].[GetEigenvector]()
returns table as return
select * from
( values (0.265433), (0.0629412), (0.671626) )
as Eigenvector( Value );
是否可以从 IVT return 一个常量 table?现在我使用的是常规 table,函数只是 return 从这个 table 中获取数据并进行一些额外的操作。
所以我想return一个table
Value
-----
0,265433
0,0629412
0,671626
我试过这样的事情:
ALTER FUNCTION [dbo].[GetEigenvector]
(
)
RETURNS TABLE
AS
RETURN
(
SELECT Value = (SELECT 0,265433 UNION ALL
SELECT 0,0629412 UNION ALL
SELECT 0,671626)
)
但它抛出一个错误:
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
您弄乱了为您的列指定别名的语法:
ALTER FUNCTION [dbo].[GetEigenvector]
(
)
RETURNS TABLE
AS
RETURN
(
SELECT 0.265433 AS Value
UNION ALL
SELECT 0.0629412
UNION ALL
SELECT 0.671626
)
另一种语法:
alter function [dbo].[GetEigenvector]()
returns table as return
select * from
( values (0.265433), (0.0629412), (0.671626) )
as Eigenvector( Value );