PostgreSQL: FEHLER-operator nicht vorhanden ist: || character varying

Ich brauche, um zu überprüfen, die Bedingung innerhalb der Funktion mit string_agg () - Funktion und weisen Sie auf die variable. Nach der Zuweisung, die ich brauchen, um ausführen die variable mit Wert.

Beispiel:

create or replace function funct1(a int,b varchar)
returns void as
$$
declare
        wrclause varchar := '';
        sqlq varchar ;
        t varchar;
begin
     IF (b IS NOT NULL ) THEN 
        wrclause := 'AND b IN ('|| b || ')';
     END IF;


     sqlq := string_agg('select *, abcd as "D" from ' ||table_namess,' Union all ') as namess
     from tablescollection2 ud
     inner join INFORMATION_SCHEMA.Tables so on ud.table_namess = so.Table_name
     WHERE cola NOT IN (SELECT cola FROM tablet WHERE colb = || a  ||) || wrclause; /* Error occurred here at  = || a */

     raise info '%',sqlq;

     execute sqlq into t;

     raise info '%',t;
end;
$$
language plpgsql;

Aufrufende Funktion:

select funct1(1,'1,2,3');

Fehler:

ERROR:  operator does not exist: || integer
InformationsquelleAutor Meem | 2014-07-11
Schreibe einen Kommentar