PDA

Ver la Versión Completa : uso de append en tabla


macro32
19-04-2008, 22:46:39
Hola a todos, mi duda es bastante sencilla ya que soy principiante en base de datos.

Tengo una base de datos en sql server...digamos que me creo una tabla personas, con campos Documento y Nombre

Luego, desde un programa en Delphi digamos que utilizo el metodo Append('43.256.345','Leonardo DiCaprio'); para agregar un nuevo registro.

Hipoteticamente, si hubiese un problema como un corte de luz en el servidor....puede quedarme algo como ('43.256.345',' Leo') ? Puede existir algun problema como que la tabla quede dañada o algo asi?

Desde mi punto de vista..preferiria que el servidor ingrese el registro tal cual..o no ingrese nada.

poliburro
19-04-2008, 22:56:01
A eso se le llama Transaccionalidad, Prueba la siguiente sentencia en el query
analizer



Begin tran
Select Documentos, Nombre
From Personas

Insert
InTo Personas
(Documento, Nombre)
Values(1,'blabla')


Select Documentos, Nombre
From Personas



Rollback

Select Documentos, Nombre
From Personas




Ese bloque te regresa 3 datasets en el primero aún no existe el doc1
se procede a la insercion, en el segundo dataset existe el doc1
como el rollback deshace la transacción el dataset 3 no muestra el doc1

En resumen, utiliza una transacción para que solo hasta que sean confirmados los cambios se registren en la tabla, eso te evitará registros huérfanos.

Por cierto, si usas SqlServer es por que tendrás varios clientes, entonces lo mejor es que la transaccionalidad la dejes en el servidor haciendo uso de Procedimientos almacenados.

Suerte

Ferrari
20-04-2008, 02:54:56
Mi estimado PoliBurro gracias por la explicacion demasiado clara...lo unico que yo no comprendo es de donde saca el append sino es VFP u otro lenguaje deplhi(perdonen mi ignorancia) ...Lo unico que si, esque avalo el comentario de poli al explicar el rollo del manejo de transacciones en delphi
saludos:cool:

Caral
20-04-2008, 04:37:17
Hola
Append es el equivalente de insert, no entiendo esto.
Como xse puede hacer un Append sin especificar los registros.???
Con relacion al proceso pues un comidtras y un rolbacktrans se hace.
Saludos

macro32
21-04-2008, 17:03:01
A eso se le llama Transaccionalidad....


ESTO QUIERE DECIR QUE SI QUIERO ESTAR 100% SEGURO SOBRE CUALQUIER OPERACION DE INSERCION DE DATOS EN UNA SOLA TABLA...DEBO HACER UNA TRANSACCION?

EL DBNavigator por ejemplo...usa una transaccion para operar sobre una tabla?

poliburro
21-04-2008, 19:35:04
EL DBNavigator por ejemplo...usa una transaccion para operar sobre una tabla?


No, no la usa