代码之家  ›  专栏  ›  技术社区  ›  Ivan-Mark Debono

如何使用在INSERT语句中返回表的函数?

  •  2
  • Ivan-Mark Debono  · 技术社区  · 6 年前

    我有一个函数,返回5列(地址)作为一个表。我需要使用结果插入到另一个表中:

        INSERT INTO mytable
            (col1, address1, address2, address3, address4, address5)
        SELECT 
            Id, HouseNo, Street, PostCode, City, Country
        FROM @someTableType
        JOIN dbo.GetAddress(@customerId);
    

    这个 Id 列来自 @someTableType . 其余的列由函数返回。

    但以上这些都不起作用。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Ali Mirzaie    6 年前

    INSERT INTO mytable
            (col1, address1, address2, address3, address4, address5)
        SELECT 
            someTableType.Id, adress.HouseNo, adress.Street, adress.PostCode, adress.City, 
        adress.Country
        FROM @someTableType
        Cross Apply dbo.GetAddress(@customerId) as adress;