From: | Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no> |
---|---|
To: | Carlos Bazán <cbazan(at)vtr(dot)net> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Errores desde función |
Date: | 2009-01-28 13:36:04 |
Message-ID: | 49805F44.3020409@usit.uio.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Carlos Bazán wrote:
> La cual ejecuto por ejemplo con la siguiente llamada:
> select public.borra_usuario('{5}', '3')
> y me retorna el siguiente mensaje de error:
>
> ERROR: el operador no existe: text || integer[]
> LINEA 1: ...te_ident( $1 ) || '.usuario WHERE user_id = ANY(' || $2 ||...
> ^
> HINT: Ningún operador coincide con el nombre y el tipo de los argumentos.
> Puede desear agregar conversiones explícitas de tipos.
> CONSULTA: SELECT 'SELECT * FROM ' || quote_ident( $1 ) || '.usuario WHERE
> user_id = ANY(' || $2 || ')'
> CONTEXTO: PL/pgSQL function "borra_usuario" line 13 at assignment
>
Hola Carlos
El problema que tienes es que estas intentando concatenar un texto con
un integer array sin especificar que tipo de conversion quieres hacer.
El problema lo tienes en esta linea:
-------------------------------------------
comando := 'SELECT * FROM '
|| quote_ident(esquema)
|| '.usuario WHERE user_id = ANY('
|| arreglo_id
|| ')';
-------------------------------------------
arreglo_id es un integer array y el operador || solo funciona con texto.
Si cambias arreglo_id por array_to_string(arreglo_id,',') no deberias de
tener este problema.
Si arreglo_id hubiese sido solo un integer, podrias haber escrito
directamente arreglo_id::text para convertirlo a un tipo texto.
Suerte y ya contaras.
--
Rafael Martinez, <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Center for Information Technology Services
University of Oslo, Norway
PGP Public Key: http://folk.uio.no/rafael/
From | Date | Subject | |
---|---|---|---|
Next Message | Rodriguez Fernando | 2009-01-28 14:58:10 | Re: Cambio el Asunto por OT Sistemas Operativos Fedora |
Previous Message | Gilberto Castillo Martínez | 2009-01-28 13:34:25 | Re: Cambio el Asunto por OT Sistemas Operativos Fedora |