powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не работает insert из процедуры
9 сообщений из 9, страница 1 из 1
Не работает insert из процедуры
    #39139434
_axl1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой код, вызываемый внутри хранимки:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
		insertquery := format('INSERT INTO '|| trg_tbl || ' (' || cols || ') VALUES (' || toinsert_text || ');');

		BEGIN
			EXECUTE insertquery;	

			--IF NOT FOUND THEN
			--    RAISE EXCEPTION 'Unable to insert row, query %', 
			--	(insertquery || trg_tbl || ' (' || cols || ') VALUES ' || '(' || toinsert_text || ')');
			--END IF;
		
			EXCEPTION
			  WHEN others THEN
			    RAISE NOTICE 'SQLSTATE: %', SQLSTATE;
			    RAISE;

			    RETURN FALSE;
		END;

RAISE NOTICE '%', insertquery;
	



В результате выполнения в вставки не просиходит, ошибок никаких не выводит, в логах тоже пусто, в трейс выводит корректную команду INSERT. Что это может быть, как побудить, куда копать хотя бы?
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139476
Фотография MadeOfGlass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_axl1, как происходит управление транзакцией?
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139479
_axl1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычный вызов
SELECT * FROM proc_name()
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139483
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_axl1,

куда копать -- очевидно --- заюзать "корректную команду из трейса" руками -- и смотреть результат.

если результата нет -- искать триггер на таблице назначения перенаправляющий или отменяющий событие.
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139486
_axl1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руками команда, скопированная из трейса выполняется корректно, все вставляется
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139666
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_axl1,

закоментируйте EXCEPTION чясть кода, и пробуйте выполнять функцию. ошибка будет бить в лицо, а не тихо подметатся под ковёр. ну или делайте не RAISE NOTICE а RAISE WARNING хотябы, тогда чтото увидете и в логах. NOTICE сообщения выбрасывает в консоль из которой запускался процесс который собственно и сгенерировал тот самый NOTICE (это при дефолтных параметрах PostgreSQL). или меняйте log_min_messages, и log_min_error_statement на NOTICE, тогда и при нынешнем коде можно в логах чтолибо искать.
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139907
_axl1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Exceptions убрал, ничего не изменилось. Для чего переводить вывод из консоли в лог? Я пока дебажу руками, мне так даже удобнее.
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139941
Фотография MadeOfGlass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_axl1, так после вызова процедуры вы делаете фиксацию транзакции?
...
Рейтинг: 0 / 0
Не работает insert из процедуры
    #39139952
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_axl1,

воспроизводимый тест-кейс можно получить?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не работает insert из процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]