Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2006
pani_alex pani_alex is offline
Miembro
 
Registrado: oct 2005
Posts: 51
Poder: 19
pani_alex Va por buen camino
problemas con insercion en procedure

tengo un pequeño problema con unos procedimientos, no me insertan los datos.
el procedimiento se encuentra anidado y consta de tres partes, siendo el ultimo el que efectua el insert.

proc 1
Código SQL [-]
CREATE PROCEDURE I_POSICION_COTIZACIONMONEDA (
    VE_IDSUCURSALAGENCIA INTEGER)
AS
declare variable v_idCotizacionMoneda integer;
declare variable v_Fecha date;
BEGIN
  /* 1 select de cotizaciones monedas */
  v_Fecha=extractdate(cast("NOW" AS DATE));
  
  for select id_cotizacionmoneda
  from cotizacionesmonedas
  where estado='A'
  and id_tipocotizacion=1
  into :v_idCotizacionMoneda
  do begin
    execute procedure i_posicion_tipoespecie :ve_idsucursalagencia,:v_idCotizacionMoneda,:v_fecha;
  end
/*  SUSPEND;*/
END

proc 2
Código SQL [-]
CREATE PROCEDURE I_POSICION_TIPOESPECIE (
    VE_IDSUCURSALAGENCIA INTEGER,
    VE_IDCOTIZACIONMONEDA INTEGER,
    VE_FECHA DATE)
AS
declare variable v_idTipoEspecie integer;
BEGIN
  /* 2 select de tiposEspecies */
  for select id_tipoespecie
  from tiposespecies
  where estado='A'
  into :v_idTipoEspecie
  do begin
    execute procedure i_posicion_caja :VE_IDSUCURSALAGENCIA,:v_idTipoEspecie,:VE_IDCOTIZACIONMONEDA,:ve_fecha;
  end
END

proc 3
Código SQL [-]
CREATE PROCEDURE I_POSICION_CAJA (
    VE_IDSUCURSALAGENCIA INTEGER,
    VE_IDTIPOESPECIE INTEGER,
    VE_IDCOTIZACIONMONEDA INTEGER,
    VE_FECHA DATE)
AS
declare variable v_idCaja integer;
declare variable v_EstadoPosicion varchar(1);
declare variable v_CodCaja varchar(4);
/*declare variable v_fecha varchar(10);*/
declare variable v_idPosicion integer;
BEGIN
  /* Procedure body */
  for select id_caja,codigo
  from cajas
  where estado='A'
  into :v_idCaja,:v_CodCaja
  do begin
    if(:v_CodCaja='9999')then
      v_EstadoPosicion='P';
    else
      v_EstadoPosicion='L';

/*    select *
    from sp_fechaactual
    into :v_fecha;*/
    v_idPosicion=0;
/*    select id_posicion
    from posiciones
    where posiciones.id_sucursalagencia=:VE_IDSUCURSALAGENCIA
    and posiciones.id_tipoespecie=:VE_IDTIPOESPECIE
    and posiciones.id_caja=:v_idCaja
    and posiciones.id_cotizacionmoneda=:VE_IDCOTIZACIONMONEDA
    and posiciones.fecha=:ve_fecha
    and posiciones.estadoposicion=:v_EstadoPosicion
    into :v_idPosicion;*/

    if((:v_idPosicion=0)or(:v_idPosicion is null))then
      insert into posiciones(id_posicion,id_sucursalagencia,
      id_tipoespecie,id_caja,id_cotizacionmoneda,estadoPosicion,estado,fecha,
      otrosimpuestos,iva,actoDocumento,gastoCobrado,resultadoAcumulado,resultadoDia,
      entradaFondo,salidaFondo,
      debitoPosicionME,debitoPosicionMN,
      creditoPosicionME,creditoPosicionMN,
      saldoPosicionME,saldoPosicionMN,
      saldoCajaME,saldoCajaMN,
      creditoCajaME,creditoCajaMN,
      debitoCajaME,debitoCajaMN)
      values(gen_id(id_posicion,1),:VE_IDSUCURSALAGENCIA,
      :VE_IDTIPOESPECIE,:v_idCaja,:VE_IDCOTIZACIONMONEDA,:v_EstadoPosicion,'A',:ve_fecha,
      0,0,0,0,0,0,
      0,0,
      0,0,
      0,0,
      0,0,
      0,0,
      0,0,
      0,0);
  end
END

en este ultimo se deberia efectuar la insercion dentro de la tabla especificada.

alguien puede corregirme o decirme como introdusco todo esto dentro de un solo procedimiento porque a mi me saltaba un error al tener varios for anidados dentro de un mismo procedimiento, pienso que este era su problema

gracias
Responder Con Cita
  #2  
Antiguo 05-06-2006
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
Lo mejor seria hacerlo todo en un solo procedure, no da error tener varios for,
y lo demas depende de lo que quieres hacer, porque no está muy claro...
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error de Inserción con IBX MALBOTO22 Conexión con bases de datos 2 16-05-2006 00:16:25
problemas en un insercion de un nuevo registros alfil123 Conexión con bases de datos 2 25-01-2006 02:00:06
problemas en un insercion en la base de datos alfil123 Conexión con bases de datos 3 20-01-2006 20:05:50
Problemas en insercion de registros ilichhernandez Conexión con bases de datos 6 02-11-2005 10:00:57
Problemas con inserción, !!Extraño¡¡ mosorio Conexión con bases de datos 0 24-05-2003 17:39:16


La franja horaria es GMT +2. Ahora son las 13:40:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi