aditya desai schrieb am 24.11.2021 um 08:31:
> H Michael,
> Please see insert_info function below. Also r_log_message is composite data type and it's definition is also given
below.
>
> CREATE OR REPLACE FUNCTION insert_info(
> info_array r_log_message[]
> ) RETURNS varchar AS $$
> DECLARE
> info_element r_log_message;
> BEGIN
> FOREACH info_element IN ARRAY info_array
> LOOP
> INSERT INTO testaditya(
> columname,
> oldvalue,
> newvalue
> ) VALUES(
> info_element.column_name,
> info_element.oldvalue,
> info_element.newvalue
> );
> END LOOP;
> RETURN 'OK';
> END;
> $$ LANGUAGE plpgsql;
You don't need a loop for that. This can be done more efficiently using unnest()
INSERT INTO testaditya(columname,oldvalue,newvalue)
select u.*
from unnest(info_array) as u;