저는 SQL Server 2000을 사용하고 있으며 일부 데이터를 사용하기 때문에 내 서버의 모든 데이터베이스 에서 모든 데이터를 읽어야합니다. 어떻게해야합니까? 질문? 이 코드를 시도했지만 원하는대로 작동하지 않습니다.내 서버의 모든 데이터베이스에서 모든 데이터 읽기
ALTER PROCEDURE TMP_INGRESO_MASIVO_DAT_CLIENTES AS
declare @Fila as int
declare @Script_Dinamico as varchar(8000)
declare @Script_Dinamico1 as varchar(8000)
declare @Nro_Registros as int
Select Distinct cod_empresa,Nombre_Base Into #Tmp_Bases1 From Estadistica_Cobranza.Dbo.Sis_Conexion_pagos Where Cod_Estado = 1 and Proc_Automaticos= 1--capturo nombre BD
Select Distinct Identity(Int,1,1) As Fila, cod_empresa , Nombre_Base As Name Into #Tmp_Bases From #Tmp_Bases1
Drop table #Tmp_Bases1
Select @Fila = 1
Select @Script_Dinamico = ''
Select @Script_Dinamico1 = ''
Select @Nro_Registros = (Select Count (*) From #Tmp_Bases) + 1--cantidad de filas +1
While @Fila < = @Nro_Registros
Begin
Print(@Script_Dinamico)
Select @Script_Dinamico = 'INSERT INTO buc.dbo.tmp_DAT_CLIENTES '
Select @Script_Dinamico = @Script_Dinamico +'(COD_EMPRESA,'
Select @Script_Dinamico = @Script_Dinamico +'COD_SUCURSALEMPRESA,'
Select @Script_Dinamico = @Script_Dinamico +'RUT_CLIENTE,'
Select @Script_Dinamico = @Script_Dinamico +'RAZON_SOCIAL, '
Select @Script_Dinamico = @Script_Dinamico +'FECHA_CARGA,'
Select @Script_Dinamico = @Script_Dinamico +'FECHA_MODIFICACION'
Select @Script_Dinamico = @Script_Dinamico +')'
Select @Script_Dinamico = @Script_Dinamico +'Select '
Select @Script_Dinamico = @Script_Dinamico +'COD_EMPRESA, '
Select @Script_Dinamico = @Script_Dinamico +'COD_SUCURSALEMPRESA, '
Select @Script_Dinamico = @Script_Dinamico +'RUT_CLIENTE, '
Select @Script_Dinamico = @Script_Dinamico +'RAZON_SOCIAL, '
Select @Script_Dinamico = @Script_Dinamico +'FECHA_CARGA, '
Select @Script_Dinamico = @Script_Dinamico +'FECHA_MODIFICACION'
Select @Script_Dinamico = @Script_Dinamico + ' from ' + (Select Name From #tmp_bases Where Fila = @Fila) +'.Dbo.DAT_CLIENTES '
Select @Script_Dinamico = @Script_Dinamico + 'Where ' + (Select Name From #tmp_bases Where Fila = @Fila) +'.Dbo.DAT_CLIENTES.cod_empresa = '+ convert(varchar,(Select cod_empresa From #tmp_bases Where Fila = @Fila))
Select @Script_Dinamico = @Script_Dinamico +'and '+ (Select Name From #tmp_bases Where Fila = @Fila) +'.Dbo.DAT_CLIENTES.rut_cliente not in (select RUT_CLIENTE from tmp_dat_clientes'
Select @Script_Dinamico = @Script_Dinamico+' where '+ (Select Name From #tmp_bases Where Fila = @Fila) +'.Dbo.DAT_CLIENTES.rut_cliente = buc.dbo.tmp_DAT_CLIENTES.RUT_CLIENTE)'
Print (@Script_Dinamico)
Exec (@Script_Dinamico)
Select @Fila = @Fila +1
Select @Script_Dinamico = ''
Select @Script_Dinamico1 = ''
End
Drop Table #Tmp_Bases
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
이 출력을 통해 무엇을 할 수 있습니까? 모든 데이터베이스의 모든 테이블의 모든 데이터? 정말? –
이것은 또한 테이블이 모두 똑같은 구조를 가지고 있다고 가정합니다. – swasheck
예 모든 테이블에 같은 구조가 있습니다. – suely