powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
9 сообщений из 9, страница 1 из 1
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702359
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windows 10, PowerShell скрипт
psql.exe PostgreSQL 9.6.8
в пером селекте надо получить новый id и вставить его во второй селект.
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702367
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1,

Код: sql
1.
2.
3.
4.
5.
postgres=# select count(*) as total from pg_class\gset
postgres=# select 'Total: ' || :total;
  ?column?  
------------
 Total: 316
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702368
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как это сделать из psql.exe ?
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702509
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1,

Выполнить два этих запроса в psql.exe
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702687
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начну сначала.
Есть скрипт, который автоматически запускается ночью. Этот скрипт несколько раз вызывает psql.exe с параметрами. psql.exe выполняет команды SQL которые ему передаёт скрипт.
Теперь задача несколько усложнилась. Надо получить от первой команды SQL одну переменную типа integer и вставить его во вторую команду SQL.

Напоминаю, что делать это должен не человек, а скрипт. Ваше же решение просто выводит результат на экран.
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702705
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1Ваше же решение просто выводит результат на экран.
Ну так замените демонстрацию использования переменной на то что нужно вам.
Как сохранить переменную psql - есть
Как к ней обратиться - есть.
Хороший пример, полностью отвечает на ваш вопрос.

dburtsev1несколько раз вызывает psql.exe с параметрами
Вот это переделать понадобится, правда. Это одна сессия должна быть.

А вам вообще банального анонимного do и любого pl не достаточно?
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702710
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1,
1) psql умеет выполнять скрипты, в документации написано, как этим пользоваться.
2) вам показали самое главное: как затолкать результат в переменную и как ее потом использовать.
3) вполне возможно, что и переменная-то вам не нужна (см. подзапросы типа select a from b where с = (select d from e where f = 2)).
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702783
dburtsev1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijВот это переделать понадобится, правда. Это одна сессия должна быть.

А вам вообще банального анонимного do и любого pl не достаточно?

мне надо получить переменную в скрипт, эту переменную обработать в скрипте и вставить результат обработки в другой скрипт. Т.е. в одной сессии никак нельзя. Похоже, придётся делать через ODBC.
...
Рейтинг: 0 / 0
как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
    #39702821
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dburtsev1MelkijВот это переделать понадобится, правда. Это одна сессия должна быть.

А вам вообще банального анонимного do и любого pl не достаточно?

мне надо получить переменную в скрипт, эту переменную обработать в скрипте и вставить результат обработки в другой скрипт. Т.е. в одной сессии никак нельзя. Похоже, придётся делать через ODBC.

Это уже вопрос по powershell а не по postgresql
проблемы нет - получайте текстовый ответ от psql (через psql -t -c 'somequery') и разбирайте его повершеллом дальше делайте чего вам надо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / как сохранить реультат psql 'SELECT COUNT(*) FROM TBL' в переменную?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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