Добрый день. Пишу сервис, который отправляет запрос к Таблице, и он должен получить данные, чтобы далее с ними работать. Пример запроса:
$sql = <<<SQL
CREATE GLOBAL TEMPORARY TABLE SADMIN.DUBLES (
RESULT varchar2(200),
GUID DATE
)
ON COMMIT DELETE ROWS
SQL;
$this->module->db_crm->createCommand($sql)->execute();
$sql = <<<SQL
DECLARE
RESULT varchar2(200) ;
BEGIN
-- всякая логика
INSERT INTO SADMIN.DUBLES (RESULT, GUID) VALUES (RESULT, CURRENT_DATE);
END;
SQL;
$this->module->db_crm->createCommand($sql)->execute();
Здесь мне нужно получить данные, которые были записаны в колнку RESULT.
Я делаю
$sql = <<<SQL
SELECT * FROM SADMIN.DUBLES
SQL;
$data2 = $this->module->db_crm->createCommand($sql)->queryAll();
Но данные не получаю. Вроде понял, что это из за того, что это запрос уже считается другой транзакцией, поэтому данных я не вижу.
При попытке добавить селект в первый запрос, после end, получаю ошибку ORA-06550 Encountered the symbol "SELECT". Попытка добавить "/" дает тоже самое, ругается уже на этот символ.
Пока зашел в тупик, вообще нет идей, как заставить код работать. Ну кроме создания "нормальной" таблицы, но этот вариант мне пока не подходит.
Сам с ораклом и sql шапочно знаком, просьбе сильно не пинать)