Вот код, который я запускаю.
$query = $this->db->query("DECLARE @tmp TABLE (ContactID UNIQUEIDENTIFIER)
INSERT INTO tblCD (" . ArrayToString($fieldsCDArray) . ")
OUTPUT Inserted.ContactID INTO @tmp
VALUES (" . ArrayToDBString($valuesCDArray) . ")
INSERT INTO tblCCO (ContactID, " . ArrayToString($fieldsCCOArray) . ")
VALUES ((SELECT ContactID FROM @tmp), " . ArrayToDBString($valuesCCOArray) . ")
SELECT ContactID FROM @tmp");
$result = $query->row();
Я запустил $ this-> db-> last_query (), чтобы убедиться, что код SQL действительно работает на сервере SQL. В итоге возвращается один ряд, как и ожидалось. Но я ничего не получаю от CodeIgniter с вышеуказанным кодом. Я также попытался запустить его с помощью result () и result_array () только для ударов, и все еще ничего.
Разве CodeIgniter не нравится возвращать результаты запроса с более чем одним оператором или мне нужно получить результат другим способом? (Для всех, кто спрашивает, я просто пытаюсь получить последний вставленный идентификатор, но это GUID, поэтому я не могу использовать $ this-> db-> insert_id ().
Любая помощь или предложения будут оценены. Спасибо.
Кроме того, игнорируйте методы ArrayToDBString (), это определенно не проблема, поскольку, как я уже сказал, я напечатал последний запрос и успешно провел его через SQL. Кроме того, результат, который я получаю при запуске через SQL, - это один столбец с именем ContactID.