sql MS SQL多语句表值函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql MS SQL多语句表值函数相关的知识,希望对你有一定的参考价值。

CREATE FUNCTION dbo.GetAdventureBikes ()
RETURNS @Product TABLE (
  ProductID     INT,
  ProductName   NVARCHAR(50),
  ProductNumber NVARCHAR(25),
  SubCategory   NVARCHAR(50))
AS
  BEGIN
    INSERT @Product
      (ProductID,
       ProductName,
       ProductNumber,
       SubCategory)
    SELECT P.ProductID,
       P.Name   AS ProductName,
       P.ProductNumber,
       PSC.Name AS SubCategory
    FROM   Production.Product P
       INNER JOIN Production.ProductSubcategory PSC
         ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
       INNER JOIN Production.ProductCategory PC
         ON PSC.ProductCategoryID = PC.ProductCategoryID
    WHERE  P.ProductSubcategoryID IS NOT NULL
    AND PC.ProductCategoryID = 1;
      
    INSERT @Product
       (ProductID,
       ProductName,
       ProductNumber,
       SubCategory)
    SELECT P.ProductID,
       P.Name   AS ProductName,
       P.ProductNumber,
       PSC.Name AS SubCategory
    FROM   Production.Product P
       INNER JOIN Production.ProductSubcategory PSC
       ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
       INNER JOIN Production.ProductCategory PC
       ON PSC.ProductCategoryID = PC.ProductCategoryID
    WHERE  P.ProductSubcategoryID IS NOT NULL
    AND PC.ProductCategoryID = 3;

    RETURN
  END
-- EXECUTION
SELECT ProductName, 
       ProductNumber, 
       SubCategory  
FROM dbo.GetAdventureBikes();
                       

以上是关于sql MS SQL多语句表值函数的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2012 - 无法授予对多语句表值函数的选择

sql MS SQL表值函数

SQL表值函数中可以使用IF 吗?

PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)

数据库原理与应用(SQL Server)笔记 第十章 用户定义函数

sql2005中 表值函数是啥