From: | Juan Ramirez <juanrmiranda(at)hotmail(dot)com> |
---|---|
To: | PostGreSQL Lista de Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Ayuda con una Funcion plpgsql |
Date: | 2008-10-13 18:26:12 |
Message-ID: | BAY104-W3568B266EB95A1338127CED1360@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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: juanrmiranda(at)hotmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
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: fsigu(at)hotmail(dot)com
To: juanrmiranda(at)hotmail(dot)com
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: juanrmiranda(at)hotmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
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: fsigu(at)hotmail(dot)com
To: juanrmiranda(at)hotmail(dot)com
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: juanrmiranda(at)hotmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
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: fsigu(at)hotmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
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
From | Date | Subject | |
---|---|---|---|
Next Message | Rodriguez Fernando | 2008-10-13 18:52:35 | Re: Actualización de PostgreSQL me acabó con la BD |
Previous Message | Juan Ramirez | 2008-10-13 17:19:04 | RE: Ayuda con una Funcion plpgsql |