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

 
 
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
 



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 07:22:50.


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