Sdílet prostřednictvím


Vytváření dotazů vložit výsledky (Visual Database Tools)

platí pro:SQL Server

Pomocí dotazu Vložit výsledky můžete zkopírovat řádky z jedné tabulky do druhé nebo v tabulce. Například v tabulce titles můžete pomocí dotazu Vložit výsledky zkopírovat informace o všech názvech jednoho vydavatele do druhé tabulky, kterou můžete zpřístupnit danému vydavateli. Dotaz Vložit výsledky se podobá vytváření dotazů na tabulky, ale kopíruje řádky do existující tabulky.

Spropitné

Můžete také zkopírovat řádky z jedné tabulky do druhé pomocí kopírování a vkládání. Vytvořte dotaz pro každou tabulku a spusťte dotazy. Zkopírujte požadované řádky z jedné mřížky výsledků do druhé.

Při vytváření dotazu Vložit výsledky zadáte:

  • Databázová tabulka, do které chcete zkopírovat řádky (cílová tabulka).

  • Tabulka nebo tabulky, ze které chcete kopírovat řádky (zdrojová tabulka). Zdrojová tabulka nebo tabulky se stanou součástí poddotazu. Pokud kopírujete v rámci tabulky, zdrojová tabulka je stejná jako cílová tabulka.

  • Sloupce ve zdrojové tabulce, jejichž obsah chcete kopírovat.

  • Cílové sloupce v cílové tabulce, do kterých se mají kopírovat data.

  • Podmínky hledání definující řádky, které chcete zkopírovat.

  • Pořadí řazení, pokud chcete zkopírovat řádky v určitém pořadí.

  • Možnosti seskupení podle, pokud chcete kopírovat pouze souhrnné informace.

Následující dotaz například zkopíruje informace o názvu z tabulky titles do archivační tabulky s názvem archivetitles. Dotaz zkopíruje obsah čtyř sloupců pro všechny názvy patřící konkrétnímu vydavateli:

INSERT INTO archivetitles (title_id, title, type, pub_id)
SELECT title_id,
       title,
       type,
       pub_id
FROM titles
WHERE (pub_id = '0766');

Poznámka

Pokud chcete vložit hodnoty do nového řádku, použijte dotaz Vložit hodnoty.

Obsah vybraných sloupců nebo všech sloupců v řádku můžete zkopírovat. V obou případech musí být data, která kopírujete, kompatibilní se sloupci v řádcích, do kterých kopírujete. Pokud například zkopírujete obsah sloupce, například price, sloupec v řádku, který kopírujete, musí přijímat číselná data s desetinnými místy. Pokud kopírujete celý řádek, musí cílová tabulka obsahovat kompatibilní sloupce ve stejné fyzické pozici jako zdrojová tabulka.

Když vytvoříte dotaz Vložit výsledky, podokno Kritéria se změní tak, aby odráželo možnosti dostupné pro kopírování dat. Přidá se přidávací sloupec, který vám umožní určit sloupce, do kterých se mají data zkopírovat.

Opatrnost

Akci provedení dotazu Vložit výsledky nelze vrátit zpět. Před provedením dotazu zálohujte svá data.

Vytvoření dotazu Vložit výsledky

  1. Vytvořte nový dotaz a přidejte tabulku, ze které chcete kopírovat řádky (zdrojová tabulka). Pokud kopírujete řádky v tabulce, můžete zdrojovou tabulku přidat jako cílovou tabulku.

  2. V nabídce Návrhář dotazů přejděte na příkaz Změnit typ a pak vyberte Vložit výsledky.

  3. V dialogovém okně Zvolit cílovou tabulku pro vložení výsledků vyberte tabulku, do které chcete zkopírovat řádky (cílová tabulka).

    Poznámka

    Návrhář dotazů a zobrazení nemůže předem určit, které tabulky a zobrazení můžete aktualizovat. Proto seznam Název tabulky v dialogovém okně Zvolit tabulku pro vložení z dotazu zobrazuje všechny dostupné tabulky a zobrazení v datovém připojení, které dotazujete, i ty, do kterých možná nebudete moct kopírovat řádky.

  4. V obdélníku, který představuje tabulku nebo tabulkový objekt, zvolte názvy sloupců, jejichž obsah chcete kopírovat. Pokud chcete zkopírovat celé řádky, zvolte * (Všechny sloupce).

    Návrhář dotazu a zobrazení přidá sloupce, které zvolíte, do sloupce Sloupec podokna Kritéria.

  5. Ve sloupci Připojit v podokně Kritéria vyberte cílový sloupec v cílové tabulce pro každý sloupec, který kopírujete. Pokud kopírujete celé řádky, zvolte název tabulky.* Sloupce v cílové tabulce musí mít stejné (nebo kompatibilní) datové typy jako sloupce ve zdrojové tabulce.

  6. Pokud chcete zkopírovat řádky v určitém pořadí, zadejte pořadí řazení. Podrobnosti najdete v tématu Řazení a seskupování výsledků dotazu (Visual Database Tools).

  7. Zadejte řádky, které chcete zkopírovat, zadáním podmínek hledání ve sloupci Filtr. Podrobnosti najdete v tématu Zadání kritérií vyhledávání (Visual Database Tools).

    Pokud neurčíte podmínku hledání, zkopírují se všechny řádky ze zdrojové tabulky do cílové tabulky.

    Poznámka

    Když přidáte sloupec pro vyhledávání do podokna Kritéria, přidá ho návrhář dotazu a zobrazení také do seznamu sloupců, které chcete zkopírovat. Pokud chcete použít sloupec pro vyhledávání, ale nechcete ho kopírovat, zrušte zaškrtnutí políčka vedle názvu sloupce v obdélníku představujícím tabulku nebo objekt s hodnotou tabulky.

  8. Pokud chcete zkopírovat souhrnné informace, zadejte možnosti Seskupit podle. Podrobnosti najdete v tématu Souhrn výsledků dotazu (Visual Database Tools).

Při spuštění dotazu Vložit výsledky se v podokně Výsledky (Visual Database Tools) nezobrazí žádné výsledky. Místo toho se zobrazí zpráva označující, kolik řádků bylo zkopírováno.