Я хочу вставить данные из нескольких таблиц. Из этой таблицы таблицы temp, в которой он поступает несколько данных, то есть 46 и 47, имя поля которого является productid. Но он не вставляет в другую таблицу несколько условий.Вставить данные из таблицы temp с помощью хранимой процедуры
Вот мой запрос:
Insert into #temp
select Product.Id
from Product
left outer join In_abc_Product ON In_abc_Product.ID = Product.ID
where In_abc_Product.ID IS NULL
BEGIN
select * from #temp
--Insert data into In_abc_Product where condition is p.Deleted = 'False' or p.Published = 'True' or VisibleIndividually = 'True'
Insert into In_abc_Product(ProductId, SolrStatus, IsDeleted, InTime, StoreId,LanguageId)
select tmp.productid,1,0,GETDATE(),s.Id,l.Id from Language l, Store s, #temp tmp left join Incremental_Solr_Product isp on isp.ProductId = tmp.productid
left join product p on p.id = isp.ProductId where isp.Id is NULL and p.Deleted = 'False' or p.Published = 'True' or VisibleIndividually = 'True'
--Insert data into In_abc_Product where condition is p.Deleted = 'True' or p.Published = 'False' or VisibleIndividually = 'False'
Insert into Incremental_Solr_Product(ProductId, SolrStatus, IsDeleted, InTime, StoreId,LanguageId)
select tmp.productid,1,0,GETDATE(),s.Id,l.Id from Language l, Store s, #temp tmp left join Incremental_Solr_Product isp on isp.ProductId = tmp.productid
left join product p on p.id = isp.ProductId where isp.Id is NULL and p.Deleted = 'True' or p.Published = 'False' or VisibleIndividually = 'False'
END
END
* Никогда не используйте запятые в предложении 'FROM'. * Всегда * используйте правильный, явный синтаксис JOIN. –
Оператор select в предложении insert возвращает что-то? Если да, вы откатываете транзакцию, если нет, то исправьте ее. –