I have a procedure that queries schema and table. I want this to not overwrite the variable instead append, because the result I want to create view.
DECLARE    
    rec record;
    sqlPlaceholder text;
BEGIN
 
 FOR rec IN SELECT table_schema, table_name
            FROM information_schema.tables                
 LOOP
     sqlPlaceholder := sqlPlaceholder || 'SELECT ogc_fid, wkb_geometry FROM ' || 
               rec.table_schema || '.' || rec.table_name || ' UNION ';
 END LOOP;
  
strSQL := 'SELECT  * FROM (' || sqlPlaceholder || ')';
RAISE INFO 'sample output %' , strSQL;
The variable sqlPlaceholder only holds the last assignment from the loop. as it's overwritten by each loop.
I need to figure out how add them all in loop.
call create_view()
Value of string inside loop SELECT *  FROM public._data_202101 UNION 
Value of string inside loop SELECT *  FROM public._data_202102 UNION 
Value of string inside loop SELECT *  FROM public._data_202103 UNION 
Value of string inside loop SELECT *  FROM public._data_202104 UNION 
Value of string inside loop SELECT *  FROM public._data_202105 UNION 
Value of string inside loop SELECT *  FROM public._data_202106 UNION 
Value of string inside loop SELECT *  FROM public._data_202107 UNION 
Value of string inside loop SELECT *  FROM public._data_202108 UNION 
Value of string inside loop SELECT *  FROM public._data_202109 UNION 
Value of string inside loop SELECT *  FROM public._data_202110 UNION 
Value of string inside loop SELECT *  FROM public._data_202111 UNION 
Value of string inside loop SELECT *  FROM public._data_202112 UNION 
Value of string outside ==> create table public._data_all as (SELECT *  FROM public._data_202112 union)
 
    