Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2013, 10:47
JL_Infantes
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Actualizar datos de una tabla

Bueno tengo 2 BD, con la misma tabla etmestablec. Ahora toda la informacion de "B" lo quiero pasar hacia "A" y genere este update

Código SQL:
Ver original
  1. UPDATE A
  2. SET     a.ESTFECHINS = b.ESTFECHINS             ,   a.CATCODIGO = b.CATCODIGO               ,  
  3.         a.ESTNOMBCOM = b.ESTNOMBCOM             ,   a.ESTRAZONSOC = b.ESTRAZONSOC           ,  
  4.         a.ESTDIRECCION = b.ESTDIRECCION         ,   a.ESTURBANIZ = b.ESTURBANIZ             ,
  5.         a.ESTDIRENUME = b.ESTDIRENUME           ,   a.ESTINTERIOR = b.ESTINTERIOR           ,  
  6.         a.UBICODIGO = b.UBICODIGO               ,   a.ESTNUMETLF1 = b.ESTNUMETLF1           ,  
  7.         a.ESTNUMETLF2 = b.ESTNUMETLF2           ,   a.ESTFAX = b.ESTFAX                     ,
  8.         a.ESTEMAIL = b.ESTEMAIL                 ,   a.ESTLUGAREG = b.ESTLUGAREG             ,  
  9.         a.DSACODIGO = b.DSACODIGO               ,   a.TPRCODIGO = b.TPRCODIGO               ,  
  10.         a.SETCODIGO = b.SETCODIGO               ,   a.SSTCODIGO = b.SSTCODIGO               ,      
  11.         a.ESTCODIINS =b.ESTCODIINS              ,   a.ESTNUMERUC = b.ESTNUMERUC             ,  
  12.         a.ESTPAGWEB = b.ESTPAGWEB               ,   a.ESTINDICPC = b.ESTINDICPC             ,  
  13.         a.ESTINDIRPR = b.ESTINDIRPR             ,   a.EXPCODIGOINI = b.EXPCODIGOINI         ,
  14.         a.ESTFECHINI = b.ESTFECHINI             ,   a.EDDCODIGO = b.EDDCODIGO               ,  
  15.         a.ESTOBSERVA = b.ESTOBSERVA             ,   a.DOCNUMECORR = b.DOCNUMECORR           ,  
  16.         a.ESTNUMERES = b.ESTNUMERES             ,   a.ESTFECHRES = b.ESTFECHRES             ,
  17.         a.TDDCODIGOULT = b.TDDCODIGOULT         ,   a.ESTNUMEDOCULT = b.ESTNUMEDOCULT       ,  
  18.         a.ESTFECHDOCULT = b.ESTFECHDOCULT       ,   a.ESTDIREFISC = b.ESTDIREFISC           ,  
  19.         a.ESTURBANIZFISC = b.ESTURBANIZFISC     ,   a.ESTDIRENUMEFISC = b.ESTDIRENUMEFISC   ,
  20.         a.ESTINTERIORFISC = b.ESTINTERIORFISC   ,   a.UBICODIGOFISC = b.UBICODIGOFISC       ,
  21.         a.DSACODIGOINS = b.DSACODIGOINS         ,   a.SOLCODIGOINS = b.SOLCODIGOINS         ,  
  22.         a.DSACODIGOULT = b.DSACODIGOULT         ,   a.SOLCODIGOULT = b.SOLCODIGOULT         ,
  23.         a.DSACODIGOCIERRE = b.DSACODIGOCIERRE   ,   a.OPENUMEROCIERRE = b.OPENUMEROCIERRE   ,
  24.         a.ESTDOCUCIERRE = b.ESTDOCUCIERRE       ,   a.ESTDOCUFECHCIERRE = b.ESTDOCUFECHCIERRE,
  25.         a.MTVCODIGOCIERRE = b.MTVCODIGOCIERRE   ,   a.TDTCODICIE = b.TDTCODICIE             ,
  26.         a.ESTFECHPROC = b.ESTFECHPROC           ,   a.ESTHORAFUNC = b.ESTHORAFUNC           ,  
  27.         a.ESTINDITRAN = b.ESTINDITRAN           ,   a.ESTFECHREG = b.ESTFECHREG             ,  
  28.         a.ESTFECHULT = b.ESTFECHULT             ,   a.USRCODIGO = b.USRCODIGO               ,
  29.         a.ESTSITUA = b.ESTSITUA
  30. FROM edellp112594.LimaSur.dbo.ETMESTABLEC B
  31.     INNER JOIN edellp112594.BDDesarrollo.dbo.ETMESTABLEC A
  32.     ON A.ESTNUMEINS=B.ESTNUMEINS
  33. WHERE B.DSACODIGO=@DSACODIGO


Bueno y lo que consegui con eso es actualizar la informacion pero no me inserto nada asi que realize un insert...

Código SQL:
Ver original
  1. INSERT      edellp112594.BDDesarrollo.dbo.ETMESTABLEC(
  2.             ESTNUMEINS      ,ESTFECHINS      ,CATCODIGO        ,ESTNOMBCOM      ,
  3.             ESTRAZONSOC     ,ESTDIRECCION    ,ESTURBANIZ       ,ESTDIRENUME     ,
  4.             ESTINTERIOR     ,UBICODIGO       ,ESTNUMETLF1      ,ESTNUMETLF2     ,
  5.             ESTFAX          ,ESTEMAIL        ,ESTLUGAREG       ,DSACODIGO       ,
  6.             TPRCODIGO       ,SETCODIGO       ,SSTCODIGO        ,ESTCODIINS      ,
  7.             ESTNUMERUC      ,ESTPAGWEB       ,ESTINDICPC       ,ESTINDIRPR      ,
  8.             EXPCODIGOINI    ,ESTFECHINI      ,EDDCODIGO        ,ESTOBSERVA      ,
  9.             DOCNUMECORR     ,ESTNUMERES      ,ESTFECHRES       ,TDDCODIGOULT    ,
  10.             ESTNUMEDOCULT   ,ESTFECHDOCULT   ,ESTDIREFISC      ,ESTURBANIZFISC  ,
  11.             ESTDIRENUMEFISC ,ESTINTERIORFISC ,UBICODIGOFISC    ,DSACODIGOINS    ,
  12.             SOLCODIGOINS    ,DSACODIGOULT    ,SOLCODIGOULT     ,DSACODIGOCIERRE ,
  13.             OPENUMEROCIERRE ,ESTDOCUCIERRE   ,ESTDOCUFECHCIERRE,MTVCODIGOCIERRE ,
  14.             TDTCODICIE      ,ESTFECHPROC     ,ESTHORAFUNC      ,ESTINDITRAN     ,
  15.             ESTFECHREG      ,ESTFECHULT      ,USRCODIGO        ,ESTSITUA )
  16.  
  17. SELECT      B.ESTNUMEINS      ,B.ESTFECHINS      ,B.CATCODIGO        ,B.ESTNOMBCOM      ,
  18.             B.ESTRAZONSOC     ,B.ESTDIRECCION    ,B.ESTURBANIZ       ,B.ESTDIRENUME     ,
  19.             B.ESTINTERIOR     ,B.UBICODIGO       ,B.ESTNUMETLF1      ,B.ESTNUMETLF2     ,
  20.             B.ESTFAX          ,B.ESTEMAIL        ,B.ESTLUGAREG       ,B.DSACODIGO       ,
  21.             B.TPRCODIGO       ,B.SETCODIGO       ,B.SSTCODIGO        ,B.ESTCODIINS      ,
  22.             B.ESTNUMERUC      ,B.ESTPAGWEB       ,B.ESTINDICPC       ,B.ESTINDIRPR      ,
  23.             B.EXPCODIGOINI    ,B.ESTFECHINI      ,B.EDDCODIGO        ,B.ESTOBSERVA      ,
  24.             B.DOCNUMECORR     ,B.ESTNUMERES      ,B.ESTFECHRES       ,B.TDDCODIGOULT    ,
  25.             B.ESTNUMEDOCULT   ,B.ESTFECHDOCULT   ,B.ESTDIREFISC      ,B.ESTURBANIZFISC  ,
  26.             B.ESTDIRENUMEFISC ,B.ESTINTERIORFISC ,B.UBICODIGOFISC    ,B.DSACODIGOINS    ,
  27.             B.SOLCODIGOINS    ,B.DSACODIGOULT    ,B.SOLCODIGOULT     ,B.DSACODIGOCIERRE ,
  28.             B.OPENUMEROCIERRE ,B.ESTDOCUCIERRE   ,B.ESTDOCUFECHCIERRE,B.MTVCODIGOCIERRE ,
  29.             B.TDTCODICIE      ,B.ESTFECHPROC     ,B.ESTHORAFUNC      ,B.ESTINDITRAN     ,
  30.             B.ESTFECHREG      ,B.ESTFECHULT      ,B.USRCODIGO        ,B.ESTSITUA
  31. FROM edellp112594.LimaSur.dbo.ETMESTABLEC B
  32. WHERE b.ESTNUMEINS NOT IN ( SELECT ESTNUMEINS
  33.                             FROM edellp112594.BDDesarrollo.dbo.ETMESTABLEC A
  34.                             WHERE B.DSACODIGO = @DSACODIGO)

Ejecuto los 2 y sale este mensaje:
Cita:
(3655 filas afectadas)

(3655 filas afectadas)
Mens 2627, Nivel 14, Estado 1, Procedimiento SP_CODIGO_DISA, Línea 48
Infracción de la restricción PRIMARY KEY 'PK_ETMESTABLEC'. No se puede insertar una clave duplicada en el objeto 'dbo.ETMESTABLEC'.
Se terminó la instrucción.
Mi PK es ESTNUMEINS en las 2 tablas...

No puedo realizar el delete por que esa tabla tiene relaciones con otras
Cita:
Mens. 547, Nivel 16, Estado 0, Línea 1
Instrucción DELETE en conflicto con la restricción REFERENCE "FK_ETALMAESTAB_ETMESTABLEC". El conflicto ha aparecido en la base de datos "BDDesarrollo", tabla "dbo.ETTALMAESTAB", column 'ESTNUMEINS'.
Se terminó la instrucción.
Algo estoy haciendo mal??
Alguna idea para solucionar este problema que tengo???

Toda la informacion de "B" quiero que se pase hacia "A"

Gracias.