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 15-12-2003
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Unhappy Como usar transacciones

Hola a todo el mundo

Estoy metido en un proyecto en red y estoy dudando entre usar transacciones en la bd y procedirmientos almacenados en la misma frente a las transacciones mediante los componentes ibx

por ejempo quisiera hacer un procedure en el que actualice un campo en una tabla en incremente un valor en otra al mismo tiempo... en la misma transacion quiero decir.
¿Como se implementaria eso en SQL para interbase?
¿Merece la pena hacerlo asi o complica mucho las cosas?

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 15-12-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Creo que estas flaco en cuestiones de SQL, por lo que te recomiendo que leas un buen libro que te introduzca al tema.

Cualquier sentencia DML (Data Modification Languaje) (Select, update, insert, delete)que hagas en una base de datos relacional se ejecuta en el contexto de una transacción, ya sea dentro de un Stored Procedure o bien lanzando las sentencias desde tu aplicación delphi.

En interbase, incluso podes ejecutar sentencias DDL (Data Definition Languaje) (create, drop) en el contexto de una transacción!

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 16-12-2003
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Question

De SQL se la sintxis y hacer todas las consultas que quieras... de mecanica interna trigers y procedures no controlo mucho... y repasando la ayuda del interbase me encuentro con un set transaction y pense que seria para algo de eso...
Entonces mi pregunta es mas sencilla... para que sirve eso del set transaction?
¿Todo el codigo de un procedure se ejecuta dentro de una transaccion (por lo cual se cumple la propiedad de la atomicidad)?

Gracias again
__________________

Un trozo de chocolate te da la energia necesaria para ir a por otro trozo de chocolate (by ELENA)
Responder Con Cita
  #4  
Antiguo 17-12-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Por supuesto que todo el código de un Stored Procedure (SP) se ejecuta en el contexto de una transacción... pero no solo eso, una llamada a un SP puede ser parte de una transacción mas grande, que a su vez haga inserts, updates, deletes y llamadas a otros SP's, además de Selects.

La transacción inicia por defecto con la primera instrucción que se ejecuta (no es necesario iniciarla explicitamente) y termina con commit o rollback.

Desde delphi, si usas BDE, este hace commit despues de cada instrucción que lanza a la base de datos, a menos que inicies explicitamente una transacción (lo que a mi me parece una deficiencia), pero es el BDE. Con ibx creo que podes configurarlo para que sea tambien autocommit.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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 23:24:18.


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