Re: Errores desde función

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/

In response to

Responses

Browse pgsql-es-ayuda by date

  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