powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / динамический запрос, + вставка NULL, + возврат ИД последней записи
6 сообщений из 6, страница 1 из 1
динамический запрос, + вставка NULL, + возврат ИД последней записи
    #38812656
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видел решения для создания динамического запроса, видел для возврата ИД, но не могу объеденить в один запрос

Код: sql
1.
execute 'insert into ' || shematbl || '.tablica1 (pole1integer,pole2data, pole3stroka,) values (' || ? Pole1 ? || ', ' || ? Pole2 ? || ', ' || ? Pole3 ? || ') ?  ?

, там где вопросики я незнаю еще как.
еще проблема в том что число Pole1, дата Pole2, строка Pole3 могуть быть NULL, тогда при конкатенации строк в execute попадет NULL

помогите пожалуйста сделать что бы Pole2 и Pole3 если равно NULL то в запросе вставлялся текст NULL иначе значение взятое в ' ' ?
и как все это еще и returning id as id_?
...
Рейтинг: 0 / 0
динамический запрос, + вставка NULL, + возврат ИД последней записи
    #38812726
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Legushka,

Прочитайте RTFM . Там все есть.
...
Рейтинг: 0 / 0
динамический запрос, + вставка NULL, + возврат ИД последней записи
    #38812788
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/\/\/\/\/\/\ спасибо-)
с нуллами разобрался)
остался вопрос как из execute 'insert () values ()'
в переменную id_ положить returning id?
...
Рейтинг: 0 / 0
динамический запрос, + вставка NULL, + возврат ИД последней записи
    #38812952
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не получается в запрос впихнуть returning:
запись вставляется с учетом NULL, но нет возврата ИД

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
create or replace function ...

...
execute 'INSERT  INTO '|| strsh ||'. table  (
	pole1, 
	pole2, 
	pole3
	)
    VALUES(
	  ' || Quote_nullable(Perem1) || ',
	  ' || Quote_nullable(Perem2) || ',
	  ' || Quote_nullable(Perem3) || ') ';
-- тут надо передать в id_1 ид последней записи
return id_1;


подскажите
я поиском весь РТФМ перерыл не могу найти то что мне надо(
...
Рейтинг: 0 / 0
динамический запрос, + вставка NULL, + возврат ИД последней записи
    #38812998
Фотография Legushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открыл глаза по шире
returning прекрасно работает) я ошибся в реальном случае с названием колонки где хранится ИД
действительно возвращается ИД той записи которая вставилась)


но всплыл совершенно новый момент и очень не приятный:

в таблицу до меня еще были закачены данные, не знаю кто и как закачивал, но в этой таблице последнее ИД уже дошло за пару тысяч, а начинается пулл с 500 (скорее всего таблицу заливали вручную)

а моя запись вставляется с ИД=15, 16, 17 и тд, и такими темпами скоро дойдет до тех записей которые уже были (начиная с 500)

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


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