Search Postgresql Archives

PLPGSQL returning number of rows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

I'm writing a simple Plpgsql function to delete some data from different tables.

The function starts with a select, and then 2 deletes after that.

How can I return the number of rows that each delete performed?


CREATE or REPLACE FUNCTION delete_ids_clientid(account_id integer)
RETURNS integer AS $$

declare
        row record;
        account_id integer;

BEGIN

FOR row IN EXECUTE '
            SELECT
                    t1.id
            FROM
                    public.table2 t2
            JOIN
                    public.table1 t1 ON t2.id = t1.id
            WHERE
                    t2.account_id = ' || account_id || ''
LOOP

        DELETE FROM public.table1 WHERE id IN
        (
            SELECT
                    id
            FROM
                    public.table1 t1
            WHERE
                    t1.id = row.id
        );

        DELETE FROM public.table2 WHERE billable_id IN
        (
            SELECT
                    billable_id
            FROM
                    public.table2 t1
            WHERE
                    t1.id = row.id
        );


END LOOP;
END

$$ language 'plpgsql';


Cheers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux