0
我有一個關於SQL Server的問題:如何動態更改數據庫名稱並使用一個select和insert statment來使用存儲過程加載數據。使用存儲過程在SQL Server中動態更改數據庫
如何使用insert和select語句更改數據庫名稱,同時將表數據加載到另一個表中?
這裏將每個數據庫名相關表加載到與數據庫名相關的目標表中。
即數據庫:測試和源表:EMP目標表:emptarget這裏EMP表中的記錄加載到emptarget類似於另一個數據庫
數據庫名稱的信息保持一個表。
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
表1:源:emp和datbasename:測試
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
目標表:emptarget和數據庫名稱:測試
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
目標表:emptarget和數據庫名稱:TEST1
USE [test1]
CREATE TABLE [dbo].[emptarget]
(
[id] [int] NULL,
[name] [varchar](50) NULL,
[sal] [int] NULL
)
最後需要加載數據像下面
數據庫:試驗和表:emptarget
id |name |sal
19 |hd |40
1 |g |10
9 |dk |90
80 |dhe |80
數據庫:TEST1和表:emptarget
id |name |sal
50 |kl |80
39 |abc |10
我試圖像下面
USE [test]
GO
insert into emptarget
select * from emp
USE [test1]
GO
insert into emptarget
select * from emp
在這裏,我不希望單獨運行兩個查詢。我需要使用單選和插入語句來運行查詢以加載數據庫的數據對應表。
請告訴我如何寫查詢在SQL Server