Udostępnij za pośrednictwem


Kopiowanie kolumn z jednej tabeli do innej (aparat bazy danych)

Dotyczy: SQL Server 2016 (13.x) i nowszych Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL database w platformie Microsoft Fabric

W tym temacie opisano sposób kopiowania kolumn z jednej tabeli do innej, kopiowania tylko definicji kolumny lub definicji i danych w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

w tym temacie

Przed rozpoczęciem

Ograniczenia i ograniczenia

Podczas kopiowania kolumny, która ma typ danych aliasu z jednej bazy danych do innej, typ danych aliasu może nie być dostępny w docelowej bazie danych. W takim przypadku kolumna zostanie przypisana najbliższemu pasującemu typowi danych podstawowemu dostępnemu w tej bazie danych.

Bezpieczeństwo

Uprawnienia

Wymaga uprawnienia ALTER w tabeli.

Korzystanie z programu SQL Server Management Studio

Aby skopiować definicje kolumn z jednej tabeli do innej

  1. Otwórz tabelę z kolumnami, które chcesz skopiować, oraz tabelę, do której chcesz je skopiować, klikając prawym przyciskiem myszy każdą tabelę, a następnie wybierając pozycję Projekt.

  2. Kliknij kartę tabeli z kolumnami, które chcesz skopiować, i wybierz te kolumny.

  3. W menu Edytuj kliknij pozycję Kopiuj.

  4. Kliknij kartę tabeli, do której chcesz skopiować kolumny.

  5. Wybierz kolumnę, która ma znaleźć się za wstawionymi kolumnami, a następnie z menu Edytuj kliknij opcję Wklej.

Aby skopiować dane z jednej tabeli do innej

  1. Postępuj zgodnie z instrukcjami dotyczącymi kopiowania definicji kolumn powyżej.

    Uwaga

    Przed rozpoczęciem kopiowania danych z jednej tabeli do innej upewnij się, że typy danych w kolumnach docelowych są zgodne z typami danych kolumn źródłowych

  2. Otwórz nowe okno Edytora zapytań.

  3. Kliknij prawym przyciskiem myszy Edytor zapytań, a następnie kliknij pozycję Projektowanie zapytania w edytorze.

  4. W oknie dialogowym Dodaj tabelę wybierz tabelę źródłową i tabelę docelową, kliknij przycisk Dodaj, a następnie zamknij okno dialogowe Dodaj tabelę.

  5. Kliknij prawym przyciskiem myszy otwarty obszar Edytora zapytań, wskaż polecenie Zmień typ, a następnie kliknij Wstaw wyniki.

  6. W oknie dialogowym Wybierz tabelę docelową dla opcji Wstaw wyniki wybierz tabelę docelową.

  7. W górnej części Projektanta zapytań kliknij kolumnę źródłową w tabeli źródlowej.

  8. Projektant zapytań utworzył teraz zapytanie INSERT. Kliknij przycisk OK, aby umieścić zapytanie w oryginalnym oknie Edytor zapytań.

  9. Wykonaj zapytanie, aby wstawić dane z tabeli źródłowej do tabeli docelowej.

Korzystanie z Transact-SQL

Aby skopiować definicje kolumn z jednej tabeli do innej

  1. Nie można kopiować pojedynczych kolumn z jednej tabeli do innej istniejącej tabeli przy użyciu instrukcji Transact-SQL. Można jednak utworzyć nową tabelę w domyślnej grupie plików i wstawić do niej wynikowe wiersze z zapytania przy użyciu polecenia SELECT INTO. Aby uzyskać więcej informacji, zobacz INTO Clause (Transact-SQL).

Aby skopiować dane z jednej tabeli do innej

  1. W Eksploratorze Obiektównawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku standardowym kliknij pozycję Nowe zapytanie.

  3. Skopiuj i wklej poniższy przykład w oknie zapytania, a następnie kliknij pozycję Wykonaj.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.EmployeeSales  
    ( BusinessEntityID   varchar(11) NOT NULL,  
      SalesYTD money NOT NULL  
    );  
    GO  
    INSERT INTO dbo.EmployeeSales  
        SELECT BusinessEntityID, SalesYTD   
        FROM Sales.SalesPerson;  
    GO