Вам нужно использовать insert . . . select
:
insert into STBranchProductVariantRelation(FKProductVariant, FKBranch, IsActive)
select t.PKProductVariantId, 1, 1
from @myVariable t;
Я думаю, что вы вводите себя в заблуждение, называя table variable переменной "variable".Затем вы думаете, что это скалярная переменная.
Я написал бы этот код как:
DECLARE @ids table (PKProductVariantId INT);
INSERT INTO STProductVariant
(FKProductId, FKProductDetailValueId_, ProductVariantCode, IsActive, StockQuantity)
OUTPUT inserted.PKProductVariantId into @ids
VALUES(1, 1, 'test', 1, 1);
insert into STBranchProductVariantRelation(FKProductVariant, FKBranch, IsActive)
select i.PKProductVariantId, 1, 1
from @ids i;