Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Obtener ID_Direccion recien insertado

Tengo una tabla de direcciones, y añado las mismas mediante INSER INTO ... el problema que tengo, es que necesito saber el ID_Direccion, el cual es un autonumerico, inmediatamente despues de la inserccion.

Un saludo y gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #2  
Antiguo 17-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues sería sensacional que nos dijeras con que tipo de bases está trabajando.

// Saludos
Responder Con Cita
  #3  
Antiguo 17-08-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Tengo Firebird 1.5 y programo en delphi7 con los ibx
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #4  
Antiguo 17-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por roman
(...) sería sensacional (...)
Estás siendo irónico, obviamente, porque en realidad sería lo suyo, lo esperado, lo justo, lo indicado,... nada de sensacional ni extraordinario...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 17-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
hay varias formas de tomarlo.

Una de las mas sencillas es llamar a un SP para que te devuelva el valor de tu generador.

Lo haces de esta forma

Código SQL [-]
CREATE PROCEDURE VALOR_GEN (VALOR INTEGER)
AS
DECLARE VARIABLE COD INTEGER;
BEGIN
  COD = gen_id (TU_GENERADOR, 0);
END^

Para este ejemplo estoy suponiendo que usas un generador para incrementar tu ID.

Suerte
__________________
[Crandel]
Responder Con Cita
  #6  
Antiguo 18-08-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
la idea de procedimiento almacenado me parece buena, pero podria darse el caso de que al trabajar en red, dos puestos insertaran casi de forma simultanea y creo que con esa solucion se podrian devolver datos erroneos.

Alguna sugerencia para ese supuesto?

Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #7  
Antiguo 18-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Todo depende para que necesites el valor.

Si lo que queresw es saber cual es el valor del id insertado, podes hacer que un SP te inserte los datos y te lo devuelva al id, todo dentro del mismo ID, y asi no tendrias ese inconveniente.
__________________
[Crandel]
Responder Con Cita
  #8  
Antiguo 18-08-2005
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Thumbs up

he metido las insercciones dentro del procedimiento y funciona mucho mejor, muchas gracias, sobre todo por la funcion gen_id. Me podrias decir donde se pueden mirar todas esas funciones para usar en los procedimientos almacenados.

Gracias.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #9  
Antiguo 19-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Cita:
Empezado por Durbed
Me podrias decir donde se pueden mirar todas esas funciones para usar en los procedimientos almacenados.
No hay un unico lugar. Yo principalmente lei:
* Documentación de Interbase.
* Documentación de Firebird.
* Libro: "La cara oculta de Delphi 4".
* UDF: que estan en la carpeta de instalación.
* Algunos tutoriales y artículos de internet.
__________________
[Crandel]
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


La franja horaria es GMT +2. Ahora son las 18:07:45.


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