• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Return Id In Postgresql

  • Автор темы AnaStas
  • Дата начала
A

AnaStas

Прошу модераторов форума дать консультацию по следующему вопросу:
Рабочая среда Perl - PostgreSQL
Есть запрос
Код:
$dbh->do ("INSERT INTO table (id, param1,param2) VALUES ('$argum1','$argum2','$argum3')") 
or die $dbh->errstr;
И никак не могу получить индекс этой последней записи. Просмотрел материал в инете. Там очень много для MySQL, гораздо меньше для PostgreSQL, но то что есть не работает. Ни currval(''table_id_seq''), ни RETURNING id, ни выбрать oid - все напрасно. Видимо, что-то не понимаю или недопонимаю. Подскажите, пожалуйста.
 
?

????


там даже пример есть:
[sql]INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')
RETURNING did;[/sql]
как в перл завернуть, я надеюсь, объяснять не надо
 
A

AnaStas

???? (Почетный секретчик), в тексте я указал, что RETURNING не проходит, т.к. версия PostgreSQL ниже третьей, да и PostgreSQL 8.3.8 Documentation я просматривал.
Но выход, все-таки, неожиданно найден :) и подсказал мне его наш Главный:
- Что ВЫ елозиете по интернету, - заметил он- поработайте сначала с Perl-документацией. Там что-то такое есть! Давайте-ка ПУСК->ВСЕ ПРОГРАММЫ->ActivePerl ...->Documentation. Откроется ActivePerl User Guide. Cпускайтесь в DBI и ищите нечто вроде Last insert ...
И точно! Есть там функция last_insert_id(). И вот ОН- работащий, тут же проверенный код:
Код:
. . . 
my $new_id;
$dbh->do ("INSERT INTO table (id, param1,param2) VALUES ('$argum1','$argum2','$argum3')") 
or die $dbh->errstr;
$new_id=$dbh->last_insert_id('', '', 'table', '');
. . .
Вот так и стал я сам себе модератор :)
Тема закрыта.
 
A

AnaStas

Что-то не видно там про версию
Прошу у форума прощения. Не правильно составлено предложение - зачастую мы забываем, что на форумы мы пишем, а не разговариваем. А это по смысловому восприятию могут быть разные вещи, ибо когда пишем, то используем причастные, деепричастные, временные и т.п. обороты, а в разговорной речи они часто опускаются. Отсюда и смысл подаваемого материала может быть нечетким, а зачастую и разным. Я, друзья, плохо продумал семантическую часть своей темы.
Обещаю исправиться :)
 
V

vital

Официально, администрацией форума, извинения приняты=) Добро пожаловать к нам)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!