복붙노트

[SQL] 어떻게 다른 데이터베이스에 하나의 데이터베이스에서 테이블 값을 삽입하려면?

SQL

어떻게 다른 데이터베이스에 하나의 데이터베이스에서 테이블 값을 삽입하려면?

나는 대상 테이블이 이미 존재하는 경우 다른 데이터베이스에서 한 테이블에서 다른 테이블로 레코드를 삽입하는 쿼리가,이 테이블의 마지막에 레코드를 추가해야합니다.

해결법

  1. ==============================

    1.이건 어때요:

    이건 어때요:

    USE TargetDatabase
    GO
    
    INSERT INTO dbo.TargetTable(field1, field2, field3)
       SELECT field1, field2, field3
         FROM SourceDatabase.dbo.SourceTable
         WHERE (some condition)
    
  2. ==============================

    2.어떻게 다른 데이터베이스에 하나 개의 서버 / 데이터베이스에서 테이블 값을 삽입하려면?

    어떻게 다른 데이터베이스에 하나 개의 서버 / 데이터베이스에서 테이블 값을 삽입하려면?

    1 개 만들기 연결된 서버 {경우 요구} (SQL 서버 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure

    이 구성 자격 증명을 사용하여 연결된 서버 A) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx

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

    - CHECK 서버

    SELECT * FROM sys.servers
    

    - TEST 연결된 서버

    EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'
    

    INSERT INTO NEW LOCAL 표

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

    또는

    INSERT AS NEW는 원격 테이블의 값

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

    INSERT AS NEW LOCAL 테이블 값

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

    3.여기에 빠르고 쉬운 방법입니다 :

    여기에 빠르고 쉬운 방법입니다 :

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

    4.

        --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. */
    
  5. ==============================

    5.당신은 시도 할 수 있습니다

    당신은 시도 할 수 있습니다

    Insert into your_table_in_db1 select * from your_table_in_db2@db2SID 
    

    db2SID 다른 DB의 SID입니다. 그것은의 tnsnames.ora 파일에 존재합니다

  6. ==============================

    6.

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

    관계형 데이터베이스에서 "테이블의 끝"같은 건 없다.

  7. ==============================

    7.두 테이블이 동일한 스키마가있는 경우 다음이 쿼리를 사용 : new_database_name.new_table_name에서 선택 database_name.table_name * 삽입 여기서 = '조건'

    두 테이블이 동일한 스키마가있는 경우 다음이 쿼리를 사용 : new_database_name.new_table_name에서 선택 database_name.table_name * 삽입 여기서 = '조건'

    당신이에서 복사 할 테이블의 이름으로 1 데이터베이스 및 테이블 _ 이름으로 데이터베이스 _ 교체 또한 복사 싶어하고 new_table_name 테이블의 이름을 다른 데이터베이스의 이름으로 new_database_name을 교체합니다.

  8. ==============================

    8.그냥 해.....

    그냥 해.....

    (이는 동일 데이터 테이블에 테이블과 동일한 테이블 구조를 만드는 것이다)

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

    9.SQL Server의 경우, 다른 데이터베이스에서 도구 데이터 가져 오기를 사용할 수 있습니다, 그것은 구성 매핑 항목에 쉽다.

    SQL Server의 경우, 다른 데이터베이스에서 도구 데이터 가져 오기를 사용할 수 있습니다, 그것은 구성 매핑 항목에 쉽다.

  10. from https://stackoverflow.com/questions/3502269/how-to-insert-table-values-from-one-database-to-another-database by cc-by-sa and MIT license