I modified the function to trim all values in multiple tables based on Trim Spaces inside whole Database as below:
create function trim_all_text()
RETURNS void AS $$
DECLARE QL VARCHAR;
BEGIN
QL ='';
-- stored procedure body
PERFORM QL = QL || 'UPDATE T SET T.'||IC.COLUMN_NAME ||
' = LTRIM(RTRIM(' || IC.COLUMN_NAME||'))
FROM '|| IT.TABLE_SCHEMA || '.[' || IT.TABLE_NAME ||
'] AS T ;' || CHR(13)
FROM INFORMATION_SCHEMA.TABLES IT
JOIN INFORMATION_SCHEMA.COLUMNS IC ON IT.TABLE_NAME = IC.TABLE_NAME
AND IT.TABLE_SCHEMA ='public' and IT.TABLE_SCHEMA = IC.TABLE_SCHEMA AND IT.TABLE_TYPE = 'BASE TABLE'
and IC.DATA_TYPE in( 'varchar','char','nvarchar','nchar', 'text');
END;
$$ LANGUAGE plpgsql;
When I run the function in pgadmin4, I receive the error below: ERROR: operator does not exist: unknown + information_schema.sql_identifier LINE 1: SELECT QL += 'UPDATE ' + IT.TABLE_SCHEMA + '.' ^
How can I combine strings in a query?