Ich habe eine Frage zu SQL Server: Wie dynamisch ändern Datenbankname und verwenden Sie eine auswählen und einfügen, um Daten mit einer gespeicherten Prozedur zu laden.Ändern der Datenbank dynamisch in SQL Server mithilfe einer gespeicherten Prozedur
Wie ändere ich den Datenbanknamen mit der Anweisung insert und select, während Tabellendaten in eine andere Tabelle geladen werden?
Hier wird jede mit dem Datenbanknamen in Beziehung stehende Tabelle in die mit der Datenbank in Beziehung stehende Zieltabelle geladen.
d.h Datenbank: Test und Quelltabelle: emp Zieltabelle ist: emptarget hier emp Tabellensätze emptarget in einer anderen Datenbanken ähnlich laden in
Datenbanknamen Informationen eine Tabelle halten.
USE [test]
GO
CREATE TABLE [dbo].[databaseinformation]
(
[id] [int] NULL,
[databasename] [varchar](50) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[databaseinformation] ([id], [databasename])
VALUES (1, N'test'), (2, N'test1')
GO
Tabelle 1: Quelle: emp und datbasename: test
USE [test]
CREATE TABLE [dbo].[emp]
(
[id] [int] NULL,
[name] [varchar](50) NULL,
[sal] [int] NULL
)
INSERT [dbo].[emp] ([id], [name], [sal])
VALUES (19, N'hd', 40), (1, N'g', 10),
(9, N'dk', 90), (80, N'dhe', 80)
GO
Zieltabelle: emptarget und database: test
USE [test]
CREATE TABLE [dbo].[emptarget]
(
[id] [int] NULL,
[name] [varchar](50) NULL,
[sal] [int] NULL
)
----table 2: emp and databasename: test1
USE [test]
CREATE TABLE [dbo].[emp]
(
[id] [int] NULL,
[name] [varchar](50) NULL,
[sal] [int] NULL
)
INSERT [dbo].[emp] ([id], [name], [sal])
VALUES (50, N'kl', 80), 39, N'abc', 10)
go
Zieltabelle: emptarget und database: test1
USE [test1]
CREATE TABLE [dbo].[emptarget]
(
[id] [int] NULL,
[name] [varchar](50) NULL,
[sal] [int] NULL
)
Endlich brauchen Test und Tabelle: emptarget
id |name |sal
19 |hd |40
1 |g |10
9 |dk |90
80 |dhe |80
Datenbank: test1 und Tabelle: unter
Datenbank zu laden Daten wie emptarget
id |name |sal
50 |kl |80
39 |abc |10
Ich habe versucht, wie unten
USE [test]
GO
insert into emptarget
select * from emp
USE [test1]
GO
insert into emptarget
select * from emp
Here I Ich möchte nicht zwei Abfragen getrennt ausführen. Ich muss Abfragen mit einzelnen Select und Insert-Anweisung ausführen, um Daten correspong Tabellen mit Datenbanken zu laden.
Bitte sagen Sie mir, wie Abfrage zu schreiben, diese Aufgabe in SQL Server