Функция sql не получает таблицу и выдает ошибку
Я написал следующую функцию в SQLServer 2005
Следующее является функцией:
create function fnBillParticulars()
return table
as
return (select * from billParticulars where Id='2425')
go
Это дает мне следующие ошибки:
1.Msg 156, Level 15, State 1, Procedure fnBillParticulars, Line 2
Incorrect syntax near the keyword 'return'.
2.Msg 178, Level 15, State 1, Procedure fnBillParticulars, Line 4
A RETURN statement with a return value cannot be used in this context.
в чем может быть ошибка?
Пожалуйста, помогите мне.
3 ответа
Решение
Пожалуйста, попробуй:
create function fnBillParticulars()
returns table
as
return (select * from billParticulars where Id='2425')
go
U написано "где" дважды в запросе.
запрос должен быть:
select * from billParticulars where Id='2425'
и использовать таблицу "возврат"
create function fnBillParticulars()
returns table
as
return (select * from billParticulars where Id='2425')
go
Вы можете альтернативно создать VIEW
на этом,
CREATE VIEW fnBillParticulars
AS
select *
from billParticulars
where where Id='2425'
или если вы хотите table valued function
CREATE FUNCTION fnBillParticulars()
RETURNS @BillParticulars TABLE
(
Id int,
-- other columns here
)
AS
BEGIN
INSERT INTO @BillParticulars (Id, ...) -- specify columns here
SELECT *
FROM billParticulars
WHERE Id = '2425';
RETURN;
END;