存储函数未在 SQL 服务器中返回 table

Stored function not returning a table in SQL Server

我正在尝试创建一个名为 func_GetMenuItemsForMenu 的存储函数。

对于这个功能,我需要将菜单的ID传递给它。该函数将查找菜单上的所有 MenuItems。它将 return 一个 table.

这是我尝试过的:

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 结构:

我只得到 MenuID 而不是 return 特定菜单上的菜单项。

您没有 select 您需要的列,这就是为什么您只得到 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