pgDac есть вопросы
Добавлено: Вт 16 янв 2018 06:44
Здравствуйте.
Я выбираю компоненты для Postgres+Lazarus, заказчики хотят переехать с FireBird на Postgres, на данный момент для работы с FireBird использую собственный форк IBX, переделанный по типу FIBPlus. Ищу компоненты с подобным функционалом для Postgres чтобы на клиенте было минимум изменений. Есть вопросы по pgDac.
У меня сейчас механизм на FireBird работает следующим образом:
1. Генерацию первичных ключей я задаю на стороне сервера. В Insert запросах использую выражение Returning для возврата первичного ключа, таким образом ключ генерится на сервере и автоматически подставляется в набор данных в момент выполнения метода Post, никаких генераторов на клиенте указывать не нужно. Получив первичный ключ автоматически срабатывает refresh текущей записи по первичному ключу.
Можно ли с pgDac работать так-же, используя генерацию первичного ключа на стороне сервера и через выражение returning в insert запросе подставлять его в набор данных?
2 Все то-же самое, но в Insert запросе используется хранимая процедура, которая после вставки возвращает первичный ключ и он подставляется в набор данных.
3. Я пробовал использовать SQLdb из состава лазарус, но подтверждение транзакции после вставки, редактирования, удаления данных закрывает все наборы данных, SELECT по новой открывать надо.
Как с этим обстоят дела в pgDac?
Я выбираю компоненты для Postgres+Lazarus, заказчики хотят переехать с FireBird на Postgres, на данный момент для работы с FireBird использую собственный форк IBX, переделанный по типу FIBPlus. Ищу компоненты с подобным функционалом для Postgres чтобы на клиенте было минимум изменений. Есть вопросы по pgDac.
У меня сейчас механизм на FireBird работает следующим образом:
1. Генерацию первичных ключей я задаю на стороне сервера. В Insert запросах использую выражение Returning для возврата первичного ключа, таким образом ключ генерится на сервере и автоматически подставляется в набор данных в момент выполнения метода Post, никаких генераторов на клиенте указывать не нужно. Получив первичный ключ автоматически срабатывает refresh текущей записи по первичному ключу.
Можно ли с pgDac работать так-же, используя генерацию первичного ключа на стороне сервера и через выражение returning в insert запросе подставлять его в набор данных?
2 Все то-же самое, но в Insert запросе используется хранимая процедура, которая после вставки возвращает первичный ключ и он подставляется в набор данных.
3. Я пробовал использовать SQLdb из состава лазарус, но подтверждение транзакции после вставки, редактирования, удаления данных закрывает все наборы данных, SELECT по новой открывать надо.
Как с этим обстоят дела в pgDac?