From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Fwd: Cursores ECPG! |
Date: | 2006-04-07 23:30:33 |
Message-ID: | c2d9e70e0604071630u48400ad4pd5ad80adf31a18b6@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
este me llego solo a mi, lo reenvio a la lista
---------- Forwarded message ----------
From: Marcelo Diaz <marcelorauldiaz(at)gmail(dot)com>
Date: Apr 7, 2006 6:15 AM
Subject: Re: [pgsql-es-ayuda] Cursores ECPG!
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Gracias Jaime.
Carlos: Respecto de lo que queres hacer, esto seria lo que necesitas
EXEC SQL PREPARE query FROM :smt;
EXEC SQL DECLARE micursor CURSOR FOR query;
Donde smt es una variable compartida char a la cual la cargas con
alguna expresion de las siguientes : select, insert, update o delete
por ejemplo:
sprintf(smt,"select %s from %s where %s=%ld", campos, squema_tabla,
campo, puesto );
On 4/7/06, Jaime Casanova <systemguards(at)gmail(dot)com> wrote:
>
On 4/6/06, Carlos Rivas <carlos(dot)rivas(at)multicredit(dot)com(dot)gt > wrote:
> Marcelo Diaz wrote:
>
> ESPERO TE SIRVA....... lo probe y anduvo joya
>
>
> #include "stdio.h"
>
> //DECLARACION DE VARIABLES COMPARTIDAS CON POSTGRESQL
> EXEC SQL BEGIN DECLARE SECTION;
>
> char dbname[50];
> int micar;
>
> EXEC SQL END DECLARE SECTION;
>
> //////////////////////////////////////// PARA DEBUG
> //EXEC SQL WHENEVER SQLERROR SQLPRINT;
> //EXEC SQL WHENEVER SQLWARNING SQLPRINT;
> //EXEC SQL WHENEVER NOT FOUND SQLPRINT;
> ///////////////////////////////////////
>
>
>
> main(int argc, char *argv[])
> {
>
> sprintf(dbname,"%s(at)192(dot)168(dot)1(dot)1:5432", argv[1]);
>
> printf("cadena %s\n",dbname);
>
> EXEC SQL CONNECT TO :dbname USER postgres;
>
> EXEC SQL DECLARE micursor CURSOR FOR SELECT codigo FROM
> personal.puesto_laboral WHERE cod_empleado=5000;
> EXEC SQL OPEN micursor;
>
> Esto si me sirve pero esto sirve para conectarme a la base de datos en
> cualquier servidor, pero lo que necesito
> es que donde haces FROM personal.puesto_laboral, el "personal." sea un
> parametro , ya que entiendo que personal. es el nombre
> de la base de datos.
> o sea que yo necesitaria algo asi :
>
> EXEC SQL DECLARE micursor CURSOR FOR SELECT codigo FROM
> "parametronombrebasededatos".puesto_laboral WHERE
> cod_empleado=5000;
>
> EXEC SQL OPEN micursor;
>
no... personal es el nombre del esquema...
--
Atentamente,
Jaime Casanova
"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster
--
Atentamente,
Jaime Casanova
"What they (MySQL) lose in usability, they gain back in benchmarks, and that's
all that matters: getting the wrong answer really fast."
Randal L. Schwartz
From | Date | Subject | |
---|---|---|---|
Next Message | MIGUEL CANCHAS | 2006-04-07 23:49:23 | RE: Ayuda |
Previous Message | Juan Carlos Villalobos C | 2006-04-07 23:13:12 | Re: Error "could not open relation 1663..." |