Я добавляю много строк в базу данных через соединение ODBC, и для каждой добавленной строки мне нужно добавить идентификатор (первичный ключ) новой строки в другую таблицу (внешний ключ из одного столбца).таблица).
Как я могу это сделать?
Вот что я рассмотрел.
Использование одного оператора SQL
Похоже, что нет никакого синтаксиса, который будет это делать.
Использовать составной оператор
Поэтому я попытался добавить SET ? = SCOPE_IDENTITY()
к моему запросу и привязки выходного параметра.Во-первых, мне кажется, что я не получаю результат обратно, но я могу, вероятно, справиться с этим, если мой синтаксис правильный.Во-вторых, я получаю сообщение об ошибке при попытке вставить значение во вторую таблицу.Ошибка: Соединение занято результатами для другой команды (состояние: HY000) .Мои запросы подготовлены, потому что мне нужно выполнять их много раз.Итак, я заканчиваю двумя запросами.Но похоже, что я не могу выполнить еще одну, пока одна все еще активна (что бы это ни значило точно).
Мне бы очень хотелось, если бы кто-то мог прокомментировать любой изэти два подхода или, возможно, рекомендовать другой способ приблизиться к этому, чтобы я мог заставить это работать.