एक डेटाबेस से दूसरे डेटाबेस में टेबल वैल्यू कैसे डालें? [बन्द है]


89

मैं एक अलग डेटाबेस में एक तालिका से दूसरी तालिका में रिकॉर्ड सम्मिलित करने के लिए एक क्वेरी चाहता हूं यदि गंतव्य तालिका पहले से मौजूद है, तो उसे तालिका के अंत में रिकॉर्ड संलग्न करना चाहिए।

जवाबों:


156

इस बारे में कैसा है:

USE TargetDatabase
GO

INSERT INTO dbo.TargetTable(field1, field2, field3)
   SELECT field1, field2, field3
     FROM SourceDatabase.dbo.SourceTable
     WHERE (some condition)

3
10 साल बाद ... अभी भी बहुत सराहना की।
क्रिस कैटिगनी

@ChrisCatignani: धन्यवाद! अनंतकाल के लिए कुछ उत्तर दिए गए हैं ;-)
marc_s

33

एक सर्वर / डेटाबेस से दूसरे डेटाबेस में टेबल वैल्यू कैसे डालें?

1 लिंक किए गए सर्वर बनाना {यदि आवश्यक हो) (SQL सर्वर 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure

2 क्रेडेंशियल का उपयोग करने के लिए लिंक किए गए सर्वर को कॉन्फ़िगर करें a) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx

EXEC sp_addlinkedsrvlogin 'NAMEOFLINKEDSERVER', 'false', null, 'REMOTEUSERNAME', 'REMOTEUSERPASSWORD'

- चाक सर्वर

SELECT * FROM sys.servers

- टेस्ट लिंक्ड सर्वर

EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'

INSERT इन नई स्थानीय तालिका

SELECT * INTO NEWTABLE
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE

या

रेमोट टेबल में नए मूल्य के रूप में सम्मिलित करें

INSERT
INTO    [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
SELECT  *
FROM    localTABLE

नई स्थानीय सारणियों के रूप में सम्मिलित करें

INSERT
INTO    localTABLE
SELECT  *
FROM    [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE

10

यहाँ एक त्वरित और आसान तरीका है:

CREATE TABLE database1.employees
AS
SELECT * FROM database2.employees;

10
    --Code for same server
USE [mydb1]
GO

INSERT INTO dbo.mytable1 (
    column1
    ,column2
    ,column3
    ,column4
    )
SELECT column1
    ,column2
    ,column3
    ,column4
FROM [mydb2].dbo.mytable2 --WHERE any condition

/*
steps-
    1-  [mydb1] means our opend connection database 
    2-  mytable1 the table in mydb1 database where we want insert record
    3-  mydb2 another database.
    4-  mytable2 is database table where u fetch record from it. 
*/

--Code for different server
        USE [mydb1]

    SELECT *
    INTO mytable1
    FROM OPENDATASOURCE (
            'SQLNCLI'
            ,'Data Source=XXX.XX.XX.XXX;Initial Catalog=mydb2;User ID=XXX;Password=XXXX'
            ).[mydb2].dbo.mytable2

        /*  steps - 
            1-  [mydb1] means our opend connection database 
            2-  mytable1 means create copy table in mydb1 database where we want 
                insert record
            3-  XXX.XX.XX.XXX - another server name.
            4-  mydb2 another server database.
            5-  write User id and Password of another server credential
            6-  mytable2 is another server table where u fetch record from it. */

6

तुम कोशिश कर सकते हो

Insert into your_table_in_db1 select * from your_table_in_db2@db2SID 

db2SID अन्य DB की साइड है। यह tnsnames.ora फ़ाइल में मौजूद होगा


1
INSERT
INTO    remotedblink.remotedatabase.remoteschema.remotetable
SELECT  *
FROM    mytable

संबंधपरक डेटाबेस में "तालिका का अंत" जैसी कोई चीज नहीं है।


0

यदि दोनों तालिकाओं में एक ही स्कीमा है, तो इस क्वेरी का उपयोग करें: database_name.table_name में * new_database_name.new_table_name जहाँ = = 'condition' से डालें

अपने 1 डेटाबेस के नाम के साथ डेटाबेस_नाम बदलें और जिस तालिका से आप कॉपी करना चाहते हैं, उसके नाम के साथ तालिका_नाम भी अपने अन्य डेटाबेस के नाम के साथ जहां आप कॉपी करना चाहते हैं और new_table_name तालिका का नाम है, के साथ new_database_name बदलें।


0

बस कर दो.....

(यह टेबल से समान डेटा के साथ टेबल के समान टेबल संरचना बनाएगा)

 create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;

0

SQL सर्वर के लिए, आप किसी अन्य डेटाबेस से टूल इम्पोर्ट डेटा का उपयोग कर सकते हैं, यह कॉन्फ़िगरेशन मैपिंग कॉलम के लिए आसान है।


0

अधिकतर हमें माइग्रेशन स्क्रिप्ट में इस प्रकार की क्वेरी की आवश्यकता होती है

INSERT INTO  db1.table1(col1,col2,col3,col4)
SELECT col5,col6,col7,col8
  FROM db1.table2

इस क्वेरी में स्तंभ गणना दोनों तालिका में समान होनी चाहिए

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.