José, y lo otro que las funciones en postgresql son poliformes, es decir
puedes crear varias funciones con el mismo nombre, con diferentes
parametros den entrada que devuelven diferentes dependiendo lo que escribas
en cada función por separado.
Saludos
*Eduardo*
El 11 de noviembre de 2013 17
PostgreSQL soporta parametros por defecto: (Desde la
http://www.postgresql.org/docs/9.1/static/sql-createfunction.html
:: HDS Consultores TI
Servidores | Redes | Programacion | GNU/Linux | PostgreSQL
Web: http://hdsconsultores.net
Blog: http://codigohds.com
Linux User #:320363
El 11 de noviemb
Desarrollo Escuintla wrote:
> Hola lista,
>
> tengo el siguiente SP, el cual me devuelve multiples filas de una tabla:
>
> CREATE OR REPLACE FUNCTION sp_tipoauto()
> RETURNS SETOF tbl_04 AS
> $BODY$
> DECLARE
> sql_result tbl_04;
> BEGIN
> FOR sql_result in EXECUTE 'SELECT * from tbl_04' LOOP
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Si necesitas que la función te devuelva varias filas de una tabla
podrias usar algo como:
CREATE OR REPLACE FUNCTION sp_tipoauto() RETURNS TABLE(
id_auto integer,
...
tipoauto text
Desarrollo Escuintla escribió:
Hola lista,
tengo el siguiente SP, el cual me devuelve multiples filas de una tabla:
CREATE OR REPLACE FUNCTION sp_tipoauto()
RETURNS SETOF tbl_04 AS
$BODY$
DECLARE
sql_result tbl_04;
BEGIN
FOR sql_result in EXECUTE 'SELECT * from tbl_04' LOOP
RETURN NEXT s
Desarrollo Escuintla escribió:
Hola lista,
tengo el siguiente SP, el cual me devuelve multiples filas de una tabla:
CREATE OR REPLACE FUNCTION sp_tipoauto()
RETURNS SETOF tbl_04 AS
$BODY$
DECLARE
sql_result tbl_04;
BEGIN
FOR sql_result in EXECUTE 'SELECT * from tbl_04' LOOP
RETURN NEXT s
2010/2/18 Alvaro Herrera :
>
> Esta función se puede escribir en lenguaje sql en lugar de plpgsql. Por
> ej.
>
> create or replace function verificaclave_1_o_0(uname text, pass text)
> returns int language sql as
> $$
> select case when password = $2 then 1 else 0 end
> from usuario
> w
> -Mensaje original-
> De: Gerardo Herzig
>
> Hola "Desarrollo" :). Mira, cuando puedas evitar usar
> plpgsql, y usar sql para tus funciones, mejor. La ejecucion
> de funciones hechas en pl son "mas caras", y por lo que puedo
> ver, aqui se puede resolver usando sql plano.
Coincido c
Desarrollo Escuintla escribió:
> Hola lista,
>
> tengo una tabla llamada "usuario", donde estan los usuarios autorizados para
> el ingreso al sistema,
> y tengo el siguiente SP, el cual lo encontre en la ayuda de PostgreSQL:
>
>
> CREATE OR REPLACE FUNCTION verificaclave(uname text, pass text)
>
Intenta algo asi.
CREATE OR REPLACE FUNCTION verificaclave(uname text, pass text)
RETURNS *integer* AS
$$
DECLARE passed BOOLEAN;
BEGIN
SELECT *CASE WHEN (password = $2) THEN 1 ELSE 0 END* INTO passed
FROMusuario
WHERE username = $1;
RETURN passed;
END;
2
CREATE OR REPLACE FUNCTION existe_usuario(CHAR(30), CHAR(30))
RETURNS integer AS $BODY$
DECLARE
v_resultado integer;
BEGIN
select count(*) into v_resultado
from usuarios where usuario=$1 and clave=$2;
RETURN v_resultado;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION exi
Desarrollo Escuintla wrote:
> Hola lista,
>
> tengo una tabla llamada "usuario", donde estan los usuarios autorizados para
> el ingreso al sistema,
> y tengo el siguiente SP, el cual lo encontre en la ayuda de PostgreSQL:
>
>
> CREATE OR REPLACE FUNCTION verificaclave(uname text, pass text)
>
Puedes hacer algo asi:
CREATE OR REPLACE FUNCTION verificaclave(uname text, pass text)
RETURNS boolean AS
$$
DECLARE passed BOOLEAN;
BEGIN
SELECT (password = $2) INTO passed
FROMusuario
WHERE username = $1;
IF Found Then
passed := true;
else
passed := false
Gracias, se nota muy bueno el reporteador, aun no se si lo voy usar para
este proyecto, ya que recien lo voy a analizar, pero estoy seguro que en
futuros proyectos tomare partida de el.
ahora lo solucione desde esta pag
Gracias Jose.
http://www.postgresonline.com/journal/index.php?/archives/14-C
Chistian disculpa la pregunta, es como para hacer un reporte en crosstab?
Jose
2009/6/21 Christian Ortiz
> Saludos
>
> estoy creando un procedimiento almacenado
>
> CREATE OR REPLACE FUNCTION f_show_products() RETURNS setof record AS
> $xx$
> DECLARE
> guia Record;
> BEGIN
>---
15 matches
Mail list logo