PostgreSQL - procedimientos

 
Vista:

procedimientos

Publicado por Paco (3 intervenciones) el 11/05/2006 09:37:41
buenas, mi problema es el siguiente.
Tengo que realizar varias funciones en pgsql que se llaman entre ellas, pero quiero disponer de unas variables que puedan ser accesibles desde cualquiera de las funciones. Había pensado en crear un procedimiento como en plsql que incluyera estas funciones y las variables pero parece ser que no se puede hacer un create procedure ¿¿no??. ¿Me podéis explicar como hacerlo o alguna otra manera que se os ocurra?.
Muchas gracias.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:procedimientos

Publicado por Julio (334 intervenciones) el 11/05/2006 19:29:46
No, los procedimientos utilizan dentro de su cuerpo sus propias variables, a menos claro que las variables que les pases a los otros procedimientos sean las mismas, algo asi:

create or replace function suma(int2, int2) returns int2
as
$$
declare
sum int2;
begin
sum := $1 + $2;
return sum;
end;
$$
language 'plpgsql';

create or replace function resta(int2, int2) returns int2
as
$$
declare
res int2;
begin
sum := $1 - $2;
return sum;
end;
$$
language 'plpgsql';

create or replace function operacion (int2, int2, varchar) returns int2
as
$$
declare
var int2;
begin
if $3 = 'suma' then
var := suma($1, $2);
end if;
if $3 = 'resta' then
var := resta($1, $2);
end if;
return var;

end;
$$
language 'plpgsql';

No se si es lo que quieres....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:procedimientos

Publicado por Paco (3 intervenciones) el 11/05/2006 23:24:29
Gracias Julio pero la verdad es que lo que quiero es lo siguiente:
Tengo dos funciones, y quiero tener una variable que me servirá de testigo que no deberia estar en ninguna función para que desde cualquiera de ellas pudiera mirar el valor que tiene, por que cada función hara una cosa dependiendo de como esta ese testigo. Es como si en otro lenguaje declarara una varibale publica.
Si sabes algo mas... Mucahs gracias de todos modos
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:procedimientos

Publicado por Julio (334 intervenciones) el 12/05/2006 17:10:45
mmmm... no, hasta donde yo se, a menos, como te digo, esta variable de testigo la pases a las otras funciones como un parametro.

O a menos que entres el código fuente de PostgreSQL y modifiques o hagas una libreria que te permita hacer eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar