@balista86 кратко: если сыпется какой-то запрос из списка - не выполняются все запросы которые участвуют в транзакции.
А вообще погуглите, материала предостаточно
@ShVad Получится, что на каждый product_id будет доп. запрос (если я правильно понял) - это не нормально.
Не знаю как в мускуле, а в оракле можно было бы положить в ячейку таблицу. Т.е. у вас был бы результать типа: 1 - продукт1- описание-{table}, и в table лежал бы еще один результат