Beste kohltje
ik heb even een klein testscriptje voor je gemaakt.
(Als je SQL server gebruikt)
kijk even naar dit script hoe je uit meerdere databases één tabel kunt vullen.
[SQL]
-- Voorbeeldscript samenvoegen informatie uit twee databases
USE master;
GO
-- database testA
CREATE DATABASE TESTA;
GO
-- Database activeren
USE TESTA;
GO
--tijdelijke tabel "A" maken en vullen met test data
CREATE TABLE A
(
ID INT,
Regel VARCHAR(10)
)
INSERT INTO A(ID, Regel) VALUES (1,'Regel 1');
INSERT INTO A(ID, Regel) VALUES (2,'Regel 2');
INSERT INTO A(ID, Regel) VALUES (3,'Regel 3');
INSERT INTO A(ID, Regel) VALUES (4,'Regel 4');
GO
-- Master Database activeren voor aanmaken nieuwe database
USE master
GO
-- database testB
CREATE DATABASE TESTB;
GO
USE TESTB;
GO
-- tijdelijke tabel "B" maken en vullen met test data
CREATE TABLE B
(
ID INT,
Waarde VARCHAR(10)
);
INSERT INTO B(ID, Waarde) VALUES (2,'Waarde 2');
INSERT INTO B(ID, Waarde) VALUES (3,'Waarde 3');
INSERT INTO B(ID, Waarde) VALUES (4,'Waarde 4');
INSERT INTO B(ID, Waarde) VALUES (5,'Waarde 5');
INSERT INTO B(ID, Waarde) VALUES (6,'Waarde 6');
GO
-- tempdb activeren, zodat de voorbeeld databases niet actief zijn
USE tempdb
GO
-- check of de tijdelijke tabel #Samenvoegtest al bestaat
IF OBJECT_ID(N'tempdb..#Samenvoegtest',N'U') IS NOT NULL
DROP TABLE #Samenvoegtest
;
-- tijdelijke tabel aanmaken
CREATE TABLE #Samenvoegtest
(
ID INT,
Regel VARCHAR(10),
Waarde VARCHAR(10)
);
-- vullen met waarden vanuit twee verschillende databases d.m.v. insert into..Select
-- Het aantal kolommen van de tabel en de query moet overeenkomen!
INSERT INTO #Samenvoegtest
SELECT A.ID,
A.Regel,
B.Waarde
FROM TESTA.dbo.A A
INNER JOIN TESTB.dbo.B B ON B.ID=A.ID;
-- Query op tabel om de data te verifieren
SELECT * FROM #Samenvoegtest
-- tijdelijke databases verwijderen
DROP DATABASE TESTA;
DROP DATABASE TESTB;[/SQL]
en nog even een waarschuwing: gebruik nooit maar dan ook nooit het commando "drop database" of "drop table" in een productieomgeving, tenzij je een read only account hebt en het tijdelijke tabellen betreft (beginnend met hekje/pound/hash("#"))