游客发表

SQL Server CTEs的语法与功能

发帖时间:2025-11-05 03:05:07

SQL Server CTEs的语法与功能
复制---prepare test data    SET NOCOUNT ON;    CREATE TABLE dbo.Parts    (    partid INT NOT NULL PRIMARY KEY,语法    partname VARCHAR(25) NOT NULL    );    INSERT INTO dbo.Parts(partid, partname)    select 1, Black Tea    union all select 2, White Tea   union all select 3, Latte   union all select 4, Espresso   CREATE TABLE dbo.BOM    (    partid INT NOT NULL REFERENCES dbo.Parts,    assemblyid INT NULL REFERENCES dbo.Parts,    unit VARCHAR(3) NOT NULL,    qty DECIMAL(8, 2) NOT NULL,    UNIQUE(partid, assemblyid),    CHECK (partid <> assemblyid)    );    INSERT INTO dbo.BOM(partid, assemblyid, unit, qty)    select 1, NULL, EA, 1.00   union all   select 2, 1, EA, 1.00   union all   select 3, 2, EA, 1.00   union all   select 4, 3, EA, 1.00   -- perform the test    WITH BOMTC AS(    SELECT assemblyid, partid    FROM dbo.BOM    WHERE assemblyid IS NOT NULL    UNION ALL    SELECT P.assemblyid, C.partid    FROM BOMTC AS P    JOIN dbo.BOM AS C ON C.assemblyid = P.partid    )    SELECT DISTINCT assemblyid, partid FROM BOMTC;    1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.

    热门排行

    友情链接