none
Procedimiento Almacenado de Borrado de Registros en Dos Bases de Datos RRS feed

  • Pregunta

  • Buen dia:

    Poseo un SQL Server 2012 en la cual existen dos bases de datos diferentes.

    En la base de datos A se encuentran dos tablas asi:

    Tabla 1 gen_usuarios
    Tabla 2 gen_usuario_rol

    En la base de datos B se encuentra la tabla:

    Tabla 1 gen_usuarios

    Tengo la necesidad de borrar registros que se encuentran tanto en la base de datos A como en la base de datos B en las tres tablas mencionadas, al mismo tiempo, en cuyo caso la condicion de borrado en las tres tablas es el ID del usuario

    Quisiera saber si es posible crear un Procedimiento Almacenado que me permita realizar ese borrado de registros pasandole como parametro el ID del usuario

    Les agradezco enormemente su valiosa ayuda y pronta Respuesta. Saludos...


    "El espiritu de lucha es lo que nos impulsa cada día a emprender nuevos retos..." Alexsc007 Bogotá - Colombia

    jueves, 17 de julio de 2014 17:29

Respuestas

  • No hace falta utilizar Linked Server si ambas bases de datos estan en la misma instancia. Solo debes realizar 2 querys delete y listo.

    create procedure miprocedimiento
      @User varchar(40)
    as
      delete bd1.dbo.usuarios where user = @user;
      delete bd2.dbo.usuarios where user = @user;
    La idea es esa, puedes escribir todos los deletes que quieras..

    • Propuesto como respuesta Uriel Almendra jueves, 17 de julio de 2014 19:28
    • Marcado como respuesta Uriel Almendra viernes, 18 de julio de 2014 19:55
    jueves, 17 de julio de 2014 18:10

Todas las respuestas

  • Si, deberias usar un Linked Server


    DCE 2005 : 5 Estrellas Platino

    jueves, 17 de julio de 2014 18:02
  • No hace falta utilizar Linked Server si ambas bases de datos estan en la misma instancia. Solo debes realizar 2 querys delete y listo.

    create procedure miprocedimiento
      @User varchar(40)
    as
      delete bd1.dbo.usuarios where user = @user;
      delete bd2.dbo.usuarios where user = @user;
    La idea es esa, puedes escribir todos los deletes que quieras..

    • Propuesto como respuesta Uriel Almendra jueves, 17 de julio de 2014 19:28
    • Marcado como respuesta Uriel Almendra viernes, 18 de julio de 2014 19:55
    jueves, 17 de julio de 2014 18:10
  • Hola Uriel, muchisimas gracias por tu respuesta. En efecto ambas bases de datos estan en la misma instancia, por lo que creo que esa es la solucion.

    Pero me surge una pregunta. En donde guardo el procedimiento almacenado??? en la BD A?? o en la BD B??

    Saludos...


    "El espiritu de lucha es lo que nos impulsa cada día a emprender nuevos retos..." Alexsc007 Bogotá - Colombia

    jueves, 17 de julio de 2014 19:44
  • Crealo en la base de datos que tu quieras, para efectos practicos, lo que ya te indicó Roland es la solución.

    Saludos.

    CristianPM.


    DBA SQL Server Santiago/Chile

    jueves, 17 de julio de 2014 21:12