El 09/05/2012 20:27, Alejandro Carrillo escribió:
Si, pero como puedo crear una function q ejecute el execute immediate de
tal forma que el numero de parámetros sea variable y evitando inyeccion sql?


No se si pillo lo que quieres hacer, el using ese me despista.

Yo tengo un caso en el que la aplicación ejecuta una función con varios parámetros, pero es posible que alguno de ellos no haya sido seleccionado por el operador. En ese caso se entiende que para ese parámetro quiere todos los valores posibles

el codigo seria mas o menos asi (pseudo code)

declare function queryvarparams(par1 varchar, par2 int, par3 bool)
begin

    select
        c1,c2,c3
    from tabla
    where
        case when $1 is null then true else c1 = $1 end
        and case when $2 is null then true else c2 = $2 end
        abd case when $3 is null then true else c3 = $3 end



De esta forma si pasas como null los parámetros no usados el sql no filtrará ese valor



--
Oswaldo
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a