isql DECLARE заявление для psql - PullRequest
       11

isql DECLARE заявление для psql

0 голосов
/ 18 ноября 2011

У меня есть БД PostgreSQL и у меня есть скрипт, который вычисляет даты из старой БД Sybase.Как я могу сделать то же самое, что PostgreSQL?

isql 

DBCOMMAND="eval isql -d $DATABASE -U user -P passwd "

$DBCOMMAND << MSG > $LOG_MEM_EXCEP

DECLARE @PREVINTDATETIME DATETIME 

select @PREVINTDATETIME=(DATEADD(hh, -24, GETDATE()))

DECLARE @CURDATE DATETIME

select CURDATE=GETDATE()

select XTIME, MESSAGE from EXCEPTION_ALERTS where (XTIME between @PREVINTDATETIME AND @CURDATE)

exit MSG

1 Ответ

1 голос
/ 18 ноября 2011

В основном это сгорает до простого оператора SQL:

SELECT xtime, message
FROM   exception_alerts
WHERE  xtime BETWEEN now() - interval '1d' AND now();

.. возвращает два столбца всех строк в таблице exception_alerts за последние 24 часа.

Вы хотите сделать из него функцию sql или plpgsql? Или вызвать его из оболочки, используя интерфейс командной строки psql? Какую форму вы ожидаете получить взамен? Включая имена столбцов?

...