Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Postgres 8.5 a 8.1 procedimiento almacenado

Estas en el tema de Postgres 8.5 a 8.1 procedimiento almacenado en el foro de PostgreSQL en Foros del Web. Hola: Tengo un procedimiento almacenado que quiero llevar de Postgres 8.5 a 8.1 es muy fácil, solo la simulación de los campos seriales aquí va: ...
  #1 (permalink)  
Antiguo 05/01/2012, 18:22
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Pregunta Postgres 8.5 a 8.1 procedimiento almacenado

Hola:
Tengo un procedimiento almacenado que quiero llevar de Postgres 8.5 a 8.1

es muy fácil, solo la simulación de los campos seriales aquí va:

Tengo una tabla (numeracion) que tiene 2 campos

tabla character varying
proximo_numero bigint

Básicamente lo que hace el script es buscar el nombre de la tabla, aumentarle un valor a proximo_numero, grabarlo y devolverlo como parámetro.

La función exportada en 8.5 se ve como se muestra a continuación:

CREATE FUNCTION fx_numerar(p_tabla character varying) RETURNS integer
LANGUAGE plpgsql
AS $$
declare resultado integer;


begin
select proximo_numero into resultado
from numeracion
where tabla=p_tabla;


update numeracion
set proximo_numero=proximo_numero+1;

return resultado;
end
$$;

Estoy haciéndolo con la herramienta del hosting phppgadmin, y obviamente esta versión de base de datos no tiene LANGUAGE plpgsql Alguien me puede decir como podría escribirla para que sea compatible con 8.1 ? O sea LANGUAGE TYPE SQL

Muchas Gracias Compañeros...

Sergio.
__________________
Sergio.
  #2 (permalink)  
Antiguo 08/01/2012, 07:42
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
Respuesta: Postgres 8.5 a 8.1 procedimiento almacenado

En realidad obvie una línea en la importación que me creaba el serial, porque fragmenté el archivo para detectar errores.
Pueden cerrar el tema.
__________________
Sergio.

Etiquetas: end, postgres, procedimiento, select, sql, almacenar, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:33.