Fernando,

respecto a tu otra consulta... pasarle un dataTable a una función postGre, no 
entiendo tu objetivo... incluso, no lo veo funcional..... por ello te sugiero 
nos contés toda "la novela" [más información] de tu problema, talvéz te damos 
ideas de otra forma de lograr lo que quieres...

Saludos.

Juan Ramírez


From: [EMAIL PROTECTED]
To: [email protected]
Subject: RE: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 16:19:04 -0100








Lo imaginaba..... sólo que no me quería adelantar XD.....tu función está mal 
creada...
 
 
Has el siguiente cambio en tu función.... declarara y compilala según la 
siguiente forma
 
CREATE OR REPLACE FUNCTION "master"."AsientosDetalleElimina" (varchar,varchar, 
varchar) RETURNS boolean AS $$
BEGIN
    delete from asidet where asiagecod=$1 and asidoc=$2 and asinum=$3;
    return true;
END;
$$
LANGUAGE 'plpgsql';
 
 
 
ahora ejecuta lo que te dije antes...
 
select AsientosDetalleElimina('central','egreso','10');
 
Pero te aclaro, ese es un ejemplo, por favor cambia los datos; central, egreso, 
10; por valores que existan en tu base de datos.... 
 
Pero te sugiero Encarecidamente que hagas las pruebas, valga la redundancia, en 
una base de datos DE PRUEBA
 
 
Otro dato, no se porque el campo asinum lo declaras como VarChar.... verifica 
tu base de datos. pues "creo" que es un campo númerico, de ser así cambia la 
declaración de la función por el tipo de datos correcto

 


Juan Ramírez










From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RE: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 16:52:58 +0000



Gracias amigo por responder y disculpa mi ignorancia pero cuano ponso la 
sentencia que me indicas

select AsientosDetalleElimina('central','egreso',10);

Me sale un error
ERROR: function asientosdetalleelimina(unknown, unknown, unknown) does not exist
 
Pero la funcion si esta creada y todo que puede ser????










From: [EMAIL PROTECTED]
To: [email protected]
Subject: RE: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 14:39:52 -0100



Lo siento Fernando, siento no haber sido claro con mi propuesta, pero aquí te 
lo digo,
En el pgAdmin en la herramienta QueryTool, ahí escribe la ejecución de tu 
función, tal cual la puse en el otro ejemplo del Command, así;

select AsientosDetalleElimina('central','egreso',10);


ejecuta ese Query en la herramienta del pgAdmin, ahí probarás la ejecución de 
tu función....

Juan Ramírez











From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: RE: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 15:27:20 +0000




Amigo muchas gracias por responder pero como puedo jecutar la funcion desde 
pgadmin, lo que si no tengo errores al crearla no me da errores de sintaxis, 
pero no se como probarla... 









From: [EMAIL PROTECTED]
To: [email protected]
Subject: RE: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 14:06:49 -0100




Buenos días desde El Salvador colegas de PostGreSQL.


Este es mi primer correo a todos los de la Lista, saludos;


Fernando,

Yo al igual que tu, no encuentro cuál es el error.... por ello te diré un par 
de cosas;

Pregunto ¿Ejecutaste tu función sin problemas, fuera de .Net?. es decir, la 
probaste ejecutandola desde la consola o desde el pgAdmin ?¿

Y, si cambias la forma en como ejecutas tu función desde .Net.... si le  pasas 
el Query al Command tal cual lo hicieras en la consola.... algo así:

            QueryCommand = New NpgsqlCommand
            QueryCommand.Connection = tu_conexion_postgre
            QueryCommand.CommandText = "select AsientosDetalleElimina(" & 
agencia & "," & tipdoc &"," & numero & ");"
            QueryCommand.ExecuteNonQuery()

Nuevamente saludos desde El Salvador 

Juan Ramírez











From: [EMAIL PROTECTED]
To: [email protected]
Subject: [pgsql-es-ayuda] Ayuda con una Funcion plpgsql
Date: Mon, 13 Oct 2008 14:32:39 +0000





Amigos como estan , necesito su ayuda estoy empezando con lo de las funciones 
en postgree y punto net, y tengo un problema con una no se si me pueden ayudar

cuando ejecuto la funcion desde c# me sale este error ERROR: 42601: syntax 
error at or near ")"


esta es la funcion que utilizo:

CREATE OR REPLACE FUNCTION "master"."AsientosDetalleElimina" (vAgeCod 
varchar,vAsiDoc varchar, vAsiNum varchar) RETURNS boolean AS $$
BEGIN
    delete from asidet where asiagecod=vAgeCod and asidoc=vAsiDoc and 
asinum=vAsiNum;
    return true;
END;
$$
LANGUAGE 'plpgsql';

Desde punto net le llamo asi a la funcion.

comando = new NpgsqlCommand("AsientosDetalleElimina)", cnpg);
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add(new NpgsqlParameter("@age", 
NpgsqlDbType.Varchar, 3)).Value = agencia;
                comando.Parameters.Add(new NpgsqlParameter("@doc", 
NpgsqlDbType.Varchar, 2)).Value = tipdoc;
                comando.Parameters.Add(new NpgsqlParameter("@num", 
NpgsqlDbType.Varchar, 7)).Value = numero;
                comando.Parameters[0].Direction = ParameterDirection.Input;
                comando.Parameters[1].Direction = ParameterDirection.Input;
                comando.Parameters[2].Direction = ParameterDirection.Input;
                 comando.ExecuteNonQuery();

y justo en la ultima linea me da el error.

Otra duda que tengo puedo mandar como parametro un datatable completo y 
recibirlo como cursor en una funcion de postgree, para manipularlo desde la 
funcion. Ojala y me puedan ayudar











Get Windows Live and get whatever you need, wherever you are. Start here. 










Invite your mail contacts to join your friends list with Windows Live Spaces. 
It's easy! Try it! 










Get Windows Live and get whatever you need, wherever you are. Start here. 










Connect to the next generation of MSN Messenger  Get it now! Gracia









Get more from your digital life. Find out how. 







Invite your mail contacts to join your friends list with Windows Live Spaces. 
It's easy! Try it! 

Discover the new Windows Vista Learn more!

_________________________________________________________________
News, entertainment and everything you care about at Live.com. Get it now!
http://www.live.com/getstarted.aspx

Responder a