• Lunes 29 de Abril de 2024, 00:54

Autor Tema:  Nombrar Columnas De Tablas A Traves De Variables  (Leído 1397 veces)

jc_investigador07

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Nombrar Columnas De Tablas A Traves De Variables
« en: Jueves 19 de Abril de 2007, 09:15 »
0
:hola: Hola amigos que tal, estoy desarrollando una funcion que recibe como parametros 3 datos --> uf_carga(p1_tabla, p2_colum1,p3_colum2), es decir, esta funcion quieo que reciba como parametros 3 datos:
      1. Nombre de una tabla X (ejemplo tabla USUARIOS)
      2. Nombre de un campo cualquiera de la tabla X  (ejm: codigo)
      3. Nombre de otro campo cualquiera de la tabla X  (ejm: nombre)

Es decir, con estos datos recibidos quiero armar mi cursor ¿me explico?, se sabe que el cursor sigue esta sintaxis, EJM:
 
 *  DECLARE cursorname CURSOR FOR SELECT codigo, nombre FROM usuarios;

   OPEN cursorname;
   string xv1, xv2
   fetch cursorname into :xv1, :xv2;
   DO WHILE sqlca.sqlcode = 0
   <--................CODIGO A HACER.................>
   fetch cursorname into :xv1, :xv2;
   LOOP;
  CLOSE cursorname;
Bueno esto seria un ejemplo de un cursor normal, pero el `problema que tengo es que quiero reemplazar los campos asgnados en el cursos de arriba (en la sentencia SELECT), por las variables que recibo en mi funcion, de la misma manera igual con el nombre de la tabla por el parametro p_tabla que recibe la funcion¿No se como armar mi SELECT siguiendo esta logica expuesta?, por favor necesito la ayuda de ustedes amigos, estare muy agradecido su interes por ayudarme, cualquier idea es bienvenida. Muchas gracias. En si el problema esta en armar esta linea nomas

1. forma normal
    DECLARE cursorname CURSOR FOR SELECT codigo, nombre FROM usuarios;

Por esta ---->
  DECLARE cursorname CURSOR FOR SELECT <p2_colum1>, <p3_colum2>
  FROM <p1_tabla>;

Es decir, la variable <p2_colum1> = codigo
             la variable <p3_colum2>  = nombre
             la variable <p1_tabla> = name de la tabla, es decir: USUARIOS

Ojala me puedan ayudar con esto amigos, vuelvo a recalcarles de antemano mis agradecimientos.  :kicking: