Re: How to get response message

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: How to get response message
Дата
Msg-id CAKFQuwZs1PH7U4vk=jnL0-e0Sy6StGaEDpQtVrk_pZHGnr19TA@mail.gmail.com
обсуждение исходный текст
Ответ на How to get response message  (Rama Krishnan <raghuldrag@gmail.com>)
Список pgsql-general
On Fri, Jun 10, 2022 at 9:38 AM Rama Krishnan <raghuldrag@gmail.com> wrote:
I am want to delete old records using function so my senior has function like below but I want to get response of this particular inside query wheter it is successful or failure

If it doesn't error, it was successful.  That is basically the API for a void returning function.

How to get response of the function status

 create or replace function data_purge() returns void as$$
Declare
Begin
Drop table test_old;
Create table test_old as select * from sales where bill_date<now() -interval '1 year';

Delete table sales where sales_id in (select sales_id from test_old;


Unless you are inspecting test_old outside the function you should just get rid of the table altogether.

Delete has a USING clause, I'd suggest that, with the sales subquery, instead of using IN.

If you want to return a useful count I'd move the delete into a CTE, add RETURNING, count(*) the results, and return that (changing the function output to either integer, text, or json as you desire).

David J.

В списке pgsql-general по дате отправления:

Предыдущее
От: Francisco Olarte
Дата:
Сообщение: Re: How to get response message
Следующее
От: Shubham Mittal
Дата:
Сообщение: Need optimization in query