Function in Pgadmin Throws operator does not exist error

Viewed 18

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?

0 Answers
Related