Principales respuestas
Como realizar una eliminacion logica en una consulta?

Pregunta
-
Hola tengo una consulta donde utilizo la clausula DELETE..
pero esta me hace la eliminacion fisica de mis registross..
me gustaria crear una consulta donde me haga la eliminacion logica para
que mis registros aun permanesca,, como hago eso..??/
Martha Elizabeth :D
Respuestas
-
Martha,
No existe tal concepto (eliminacion logica) en SQL Server. Pudieras aggregar una columna tipo [bit] para marcar la fila.
alter table T
add column borrado_logico bit not null constraint DF_T_borrado_logico (0);
GO
update T
set borrado_logico = 1
where ...
GO
AMB
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator lunes, 24 de enero de 2011 20:58
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36
-
hola,
bueno en un lenguaje de programacion ya sea c# o vb.net puede almancer los valores de un consulta de sql en un arrayy ahi puede borrar (n) Registro que usted quiera y simpre va a seguir permaneciendo el valor esa responde a una pre-gunta que esta plantea arriba.
vamos ser un ejemplo simple para que tenga una idea
tenemos un ArraysList que almance los nombre de todo los cliente.
ArraysList lis = new ArraysList();
LIs.Add("juan");LIs.Add("maria");LIs.Add("pedro");
ahora si quiers Elimiar un Registro lo puede Hacer con el metodo Romove(n) pasandole el indice algo si miraSi queremos borrar a maria que esta posicioinada en la posicion 2 lo hacemos haci Lis.Remove(2).
de esa manera podemos elimiar registro de una manera logia y que permance el valor registrado espero que mi expli-cacion pueda ser clara
Nota
Si uay tienes duda no dude en preguntarme.
Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC C#.NET- Propuesto como respuesta Enmanuel Grullard domingo, 23 de enero de 2011 0:58
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36
-
Estimada.
Para no realizar borrados fisicos en tus tablas de base de datos , podrias de usar campos de auditoria.
Ejemplo
TABLA
cCodcliente
cNombreCliente
cApellidoCliente
cUserInsert
dFechaInsert
cUserEdit
dFechaEdit
cUserdelete
dFechadelete
cEstado
cLocalHost
los ultimos campos serian de auditoria , y tu estado seria el determinante.ESTADO ='A' ACTIVO.
ESTADO ='E' ELIMINADO.de esta manera controlas el estado de tus registros sin eliminar el registro fisicamente.
Espero te haya servido
Saludos
Rolando Lau Project Management- Propuesto como respuesta Rolando Lau martes, 25 de enero de 2011 0:15
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36
Todas las respuestas
-
Martha,
No existe tal concepto (eliminacion logica) en SQL Server. Pudieras aggregar una columna tipo [bit] para marcar la fila.
alter table T
add column borrado_logico bit not null constraint DF_T_borrado_logico (0);
GO
update T
set borrado_logico = 1
where ...
GO
AMB
- Propuesto como respuesta Alberto López Grande (qwalgrande)Moderator lunes, 24 de enero de 2011 20:58
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36
-
hola,
bueno en un lenguaje de programacion ya sea c# o vb.net puede almancer los valores de un consulta de sql en un arrayy ahi puede borrar (n) Registro que usted quiera y simpre va a seguir permaneciendo el valor esa responde a una pre-gunta que esta plantea arriba.
vamos ser un ejemplo simple para que tenga una idea
tenemos un ArraysList que almance los nombre de todo los cliente.
ArraysList lis = new ArraysList();
LIs.Add("juan");LIs.Add("maria");LIs.Add("pedro");
ahora si quiers Elimiar un Registro lo puede Hacer con el metodo Romove(n) pasandole el indice algo si miraSi queremos borrar a maria que esta posicioinada en la posicion 2 lo hacemos haci Lis.Remove(2).
de esa manera podemos elimiar registro de una manera logia y que permance el valor registrado espero que mi expli-cacion pueda ser clara
Nota
Si uay tienes duda no dude en preguntarme.
Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC C#.NET- Propuesto como respuesta Enmanuel Grullard domingo, 23 de enero de 2011 0:58
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36
-
-
Estimada.
Para no realizar borrados fisicos en tus tablas de base de datos , podrias de usar campos de auditoria.
Ejemplo
TABLA
cCodcliente
cNombreCliente
cApellidoCliente
cUserInsert
dFechaInsert
cUserEdit
dFechaEdit
cUserdelete
dFechadelete
cEstado
cLocalHost
los ultimos campos serian de auditoria , y tu estado seria el determinante.ESTADO ='A' ACTIVO.
ESTADO ='E' ELIMINADO.de esta manera controlas el estado de tus registros sin eliminar el registro fisicamente.
Espero te haya servido
Saludos
Rolando Lau Project Management- Propuesto como respuesta Rolando Lau martes, 25 de enero de 2011 0:15
- Marcado como respuesta Eduardo PorteschellerModerator miércoles, 26 de enero de 2011 12:36