From: | Alvaro Herrera <alvherre(at)surnet(dot)cl> |
---|---|
To: | Ricardo Fuentes Pereira <rfuentesp(at)gmail(dot)com> |
Cc: | "'pgsql-es-ayuda(at)postgresql(dot)org'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Parametros en Procedimientos almacenados |
Date: | 2005-05-13 21:02:09 |
Message-ID: | 20050513210209.GA17830@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, May 12, 2005 at 05:58:32PM -0400, Ricardo Fuentes Pereira wrote:
> CREATE OR REPLACE FUNCTION insertMiTabla(int4, varchar)
> RETURNS int4 AS
> He aqui el problema. Deseo pasar solo un parametro en el procedimiento
> almacenado, algo que sea analogo a mi_tabla, para seguir utilizando el
> patron de diseño
Hola,
Entiendo que esto lo puedes hacer en 8.0 pero no en versiones
anteriores. La idea es declarar la funcion como
create function insertMiTabla(record) returns ...
o bien
create function insertMiTabla(miTabla) returns ...
y tienes que pasar el tipo exacto de la forma
select insertMiTabla(ROW(42, 'the answer to the final question'));
Aun no me queda claro como se construiria el cuerpo de la funcion;
quizas puedas descubrirlo en la documentacion. A continuacion mi
experimento fallido por si te sirve de algo:
alvherre=# create table mitabla (a int, b text);
CREATE TABLE
alvherre=# create or replace function inserta(mitabla) returns int language
plpgsql as 'begin insert into mitabla select $1; end';
CREATE FUNCTION
alvherre=# select inserta(row(1, 'foo'));
ERROR: la columna «a» es de tipo integer pero la expresión es de tipo mitabla
HINT: Necesitará reescribir la expresión o aplicarle una conversión de tipo.
CONTEXT: sentencia SQL: «insert into mitabla select $1 »
PL/pgSQL function "inserta" line 1 at SQL statement
--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"Acepta los honores y aplausos y perderás tu libertad"
From | Date | Subject | |
---|---|---|---|
Next Message | Ricardo Fuentes Pereira | 2005-05-13 22:06:10 | Re: Parametros en Procedimientos almacenados |
Previous Message | Mario Soto Cordones | 2005-05-13 20:41:17 | Re: USOS DE POSTGRESQL |