我只是想创建一个返回 select 语句的函数,但它给出了错误:
在此上下文中不能使用具有返回值的 RETURN 语句。
这是我的代码:
CREATE FUNCTION [dbo].[Sample] (@SampleValue int)
RETURNS TABLE
AS
BEGIN
RETURN(
SELECT * FROM View_sls
)
请让我知道解决方案
我只是想创建一个返回 select 语句的函数,但它给出了错误:
在此上下文中不能使用具有返回值的 RETURN 语句。
这是我的代码:
CREATE FUNCTION [dbo].[Sample] (@SampleValue int)
RETURNS TABLE
AS
BEGIN
RETURN(
SELECT * FROM View_sls
)
请让我知道解决方案
两件事情:
然后您可以调用RETURN;
将该表的数据返回给调用者。
所以你需要这样的东西:
CREATE FUNCTION [dbo].[Sample] (@SampleValue int)
RETURNS @returnTable TABLE
(ContactID int PRIMARY KEY NOT NULL,
FirstName nvarchar(50) NULL,
LastName nvarchar(50) NULL,
JobTitle nvarchar(50) NULL,
ContactType nvarchar(50) NULL)
AS
BEGIN
INSERT INTO @returnTable
SELECT ContactID, FirstName, LastName, JobTitle, ContactType
FROM dbo.View_sls
RETURN;
END
语法错误,仅此而已。BEGIN
当你有一个“内联表值函数”时你不需要
请参阅CREATE FUNCTION和示例 B
CREATE FUNCTION [dbo].[Sample] (@SampleValue int)
RETURNS TABLE
AS
RETURN
(
SELECT * FROM View_sls
);
GO
您需要描述返回的表,填充它,然后RETURN
:
CREATE FUNCTION [dbo].[Sample] (@SampleValue int)
RETURNS @RESULTS TABLE
(
ID int, <other fields>
)
AS BEGIN
INSERT @T
<select ...>
RETURN
END