none
Como realizar una eliminacion logica en una consulta?

    Question

  •  

    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
    Saturday, January 22, 2011 9:32 PM

Answers

  • 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

    Some guidelines for posting questions...

    Sunday, January 23, 2011 12:40 AM
  • hola,

    bueno en un lenguaje de programacion ya sea  c# o vb.net puede almancer los valores de un consulta de sql en un array
    y 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 mira 
    Si 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
    Sunday, January 23, 2011 12:58 AM
  • 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
    Tuesday, January 25, 2011 12:14 AM

All replies

  • 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

    Some guidelines for posting questions...

    Sunday, January 23, 2011 12:40 AM
  • hola,

    bueno en un lenguaje de programacion ya sea  c# o vb.net puede almancer los valores de un consulta de sql en un array
    y 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 mira 
    Si 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
    Sunday, January 23, 2011 12:58 AM
  • hola,

    Cuentanos has podido ver la informacion que te facilitamos.

    esa pregunta mas bien esta orientado a programacion y no a base de datos 


    Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC C#.NET
    Monday, January 24, 2011 11:48 PM
  • 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
    Tuesday, January 25, 2011 12:14 AM