存储函数未在 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
我正在尝试创建一个名为 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