Хранимая функция не возвращает таблицу в SQL Server - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь создать сохраненную функцию с именем func_GetMenuItemsForMenu.

. Для этой функции мне нужно передать ей идентификатор меню.Функция найдет все элементы меню, которые находятся в меню.Он вернет таблицу.

Вот что я пробовал:

CREATE FUNCTION [dbo].[func_GetMenuItemsForMenu] 
    (@MenuItemMenuItemID NVARCHAR(200))
RETURNS TABLE
AS
   RETURN (SELECT Menu.MenuID 
           FROM Menu, MenuItem
           WHERE MenuItem.MenuID LIKE @MenuItemMenuItemID + '%'
             AND MenuItem.MenuID = Menu.MenuID)
GO

Вот моя структура таблицы:

Table Structure

Iя только получаю MenuID, и он также не возвращает пункт меню, который находится в определенном меню.

1 Ответ

0 голосов
/ 08 февраля 2019

Вы не выбрали нужные столбцы, поэтому вы получаете только MenuID.Я добавляю MenuItemTitle здесь.

CREATE FUNCTION [dbo].[func_GetMenuItemsForMenu] 
(
    @MenuItemMenuItemID NVARCHAR(200)
)
RETURNS TABLE
AS
RETURN (
    SELECT 
        Menu.MenuID, 
        MenuItem.MenuItemTitle 
    FROM Menu
    INNER JOIN 
        MenuItem ON 
        MenuItem.MenuID = Menu.MenuID
    WHERE
        MenuItem.MenuID LIKE @MenuItemMenuItemID + '%')
GO
...