While PL/pgSQL has LOOP
flow for recursive operations, SQL or psql doesn’t have one.
If you want to loop without PL/pgSQL, utilize bash:
for id in $(psql -U<user> <database> -t -c "SELECT id FROM <table>"); do
# any recursive query
psql -U<user> <database> -t -c "CALL some_procedure($id)"
done
psql -t
in the outer query excludes extra outputs like column header, so variable id
gets each id from table.
Inside for
loop, you can issue any query with bash variable substitution.
For example, CALL
stored procedure requires external loop for multiple operations.
⁋ Feb 27, 2023↻ Nov 7, 2024
中馬崇尋
Chuma Takahiro
Chuma Takahiro