Chuyển dữ liệu từ data này sang data khác

Chuyên mục thảo luận các vấn đề liên quan đến ứng dụng quản lý và cơ sở dữ liệu

Điều hành viên: Điều hành

Đăng trả lời
muaphonui_2010
Thành viên ưu tú
Thành viên ưu tú
Bài viết: 557
Ngày tham gia: Thứ 6 26/11/2010 1:15 pm
Đến từ: TP.HCM
Has thanked: 190 times
Been thanked: 36 times
Tiếp xúc:

Chuyển dữ liệu từ data này sang data khác

Gửi bài by muaphonui_2010 »

Chào các bạn.
Nhờ các bạn giúp mình về vấn đề chuyển dữ liệu giữa 3 Database (cùng 1 máy chủ) với nhé.
Giả sử mình có 3 Database : Data1 và Data2 và Data3.
Và trong các data này có các bảng và cột giống nhau.
Hiện tại mình dùng câu lệnh này chạy ok

Mã: Chọn tất cả

CREATE PROCEDURE [dbo].[copy]
    @id_id INT,
    @namecreate Nvarchar(50),
    @txtdataname sysname
AS BEGIN

DECLARE @InsertedRows TABLE (id INT)

--Insert Master
insert into [Data2].[dbo].[Table1] (cot1, cot2, cot3, cot4, namecreate) 
   
OUTPUT inserted.id        
INTO @InsertedRows

SELECT cot1, cot2, cot3, cot4, @namecreate From Table1 WHERE (id = @id_id)                      

--Insert Detail
insert into [Data2].[dbo].[Table2] (id, cot1, cot2, cot3, cot4) 
SELECT (SELECT TOP (1) id FROM @InsertedRows), cot1, cot2, cot3, cot4 From Table2 WHERE (id = @id_id)

END
==> mình muốn thai đổi chổ Data2 đó thành động được truyền vào @txtdataname
Vì mình thử viết như vầy thì bị lỗi

Mã: Chọn tất cả

CREATE PROCEDURE [dbo].[copy]
    @id_id INT,
    @namecreate Nvarchar(50),
    @txtdataname sysname
AS BEGIN

DECLARE @InsertedRows TABLE (id INT)

--Insert Master
insert into [@txtdataname].[dbo].[Table1] (cot1, cot2, cot3, cot4, namecreate) 
   
OUTPUT inserted.id        
INTO @InsertedRows

SELECT cot1, cot2, cot3, cot4, @namecreate From Table1 WHERE (id = @id_id)                      

--Insert Detail
insert into [@txtdataname].[dbo].[Table2] (id, cot1, cot2, cot3, cot4) 
SELECT (SELECT TOP (1) id FROM @InsertedRows), cot1, cot2, cot3, cot4 From Table2 WHERE (id = @id_id)

END
Nhờ các bạn giúp mình với nhé.
Cảm ơn các bạn.
Đăng trả lời

Quay về