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

Procedimiento Almacenado

Estas en el tema de Procedimiento Almacenado en el foro de PostgreSQL en Foros del Web. hola estoy tratando de hacer un procedimiento almacenado y me da un error en el alias.. Código PHP: DECLARE      predio ALIAS  FOR $ 1 ;      ...
  #1 (permalink)  
Antiguo 06/11/2008, 09:31
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 18 años, 6 meses
Puntos: 0
Procedimiento Almacenado

hola
estoy tratando de hacer un procedimiento almacenado y me da un error en el alias..
Código PHP:
DECLARE
    
predio ALIAS FOR $1;
    
solicitante ALIAS FOR $3;
    
sw char;

BEGIN
    SELECT cod_proyecto
    FROM
     proyecto
    WHERE 
    cod_predio 
predio AND
    
cod_solicitante solicitante 
    
    sw
='0';

    IF 
FOUND THEN
        sw
='1';
    
END IF;

    RETURN 
sw;
END
__________________
No hay nada mas que Solo yo en La Oscuridad...
  #2 (permalink)  
Antiguo 06/11/2008, 14:59
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Procedimiento Almacenado

hola despues de todo un tarde ya se como funciona, se los mando para los que no saben procedimiento almacenado en postgres
Código PHP:
CREATE FUNCTION ramos(integer) RETURNS integer AS
'DECLARE
    nbre ALIAS FOR $1;
    cod ALIAS FOR $3;
    sw integer;

BEGIN
    SELECT estado
    FROM
     tipo_usuario
    WHERE 
    nbre_usuario = nbre AND
    cod_tipo_usuario = cod 
    
    sw=0;

    IF FOUND THEN
        sw=1;
    ELSE
        sw=0;
    END IF;

    RETURN sw;
END;
'
LANGUAGE 'plpgsql' VOLATILE
__________________
No hay nada mas que Solo yo en La Oscuridad...
  #3 (permalink)  
Antiguo 07/11/2008, 07:20
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Procedimiento Almacenado

la libreria plpsql, tienen que ejecutar los siguientes codigos
Código PHP:
CREATE OR REPLACE FUNCTION plpgsql_call_handler()
  
RETURNS language_handler AS
'$libdir/plpgsql''plpgsql_call_handler'
  
LANGUAGE 'c' VOLATILE
Código PHP:
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
      
HANDLER plpgsql_call_handler
      LANCOMPILER 
'PL/pgSQL'
__________________
No hay nada mas que Solo yo en La Oscuridad...
  #4 (permalink)  
Antiguo 07/11/2008, 17:44
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 18 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Procedimiento Almacenado

llamando el procedimiento almacenado de php, codigo completo
Código PHP:
CREATE OR REPLACE FUNCTION prueba(integercharacter varying)
  
RETURNS character AS
'
DECLARE
    nbre ALIAS FOR $2;
    cod ALIAS FOR $1;
    sw char;
    rc RECORD;

BEGIN

    SELECT INTO rc 
       tipo_usuario.estado
    FROM
       tipo_usuario
    WHERE 
       tipo_usuario.nbre_usuario = nbre AND
       tipo_usuario.cod_tipo_usuario = cod  ;
    sw=''0'';


    IF FOUND THEN
        sw=''1'';
    END IF;

    RETURN sw;
END;
'
  
LANGUAGE 'plpgsql' VOLATILE
Código PHP:
SELECT prueba(3,'Legal'
Devuelve si esta los datos 1 de lo contrario 0
__________________
No hay nada mas que Solo yo en La Oscuridad...
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 21:09.