从 TVP 和变量中插入值到表中

问题描述 投票:0回答:1

我有输入TVP

@_inputTvp TableType Readonly

和局部变量

declare @_localVar varchar

我知道如何将 TVP 插入到表中,以及如何将变量值插入到表中。但现在我有 2 个数据源(TVP 和局部变量)要插入到表中。像这样吗?

insert into A_Table
values (@localVar, select col1, col2, col3 from @inputTvp)
sql-server ssms table-valued-parameters
1个回答
0
投票

插入时,使用 VALUES(...) 只生成一行(对应值)来插入。 VALUES(...) 不是您从另一个表(或多个表)中提取行以插入目标表的方式。

假设您只想插入来自@inputTvp 表变量的所有行,但每个插入行的第一列应该具有来自您的@localVar 变量的值,那么您将使用以下内容:

INSERT INTO A_Table
SELECT @localVar, col1, col2, col3
FROM @intputTvp
© www.soinside.com 2019 - 2024. All rights reserved.