Shrnutí: v tomto tutoriálu, se dozvíte, jak používat Oracle INSERT INTO SELECT prohlášení k vložení dat do tabulka z výsledku SELECT prohlášení.
přehled Oracle INSERT INTO SELECT statement
někdy chcete vybrat data z tabulky a vložit je do jiné tabulky., To udělat, můžete použít Oracle INSERT INTO SELECT prohlášení zní následovně:
Oracle INSERT INTO SELECTprohlášení vyžaduje typ dat zdrojové a cílové tabulky zápas.
Pokud chcete zkopírovat všechny řádky ze zdrojové tabulky do cílové tabulky, odeberte klauzuli WHERE. V opačném případě můžete určit, které řádky ze zdrojové tabulky by měly být zkopírovány do cílové tabulky.,
Oracle-li VLOŽIT DO VYBERTE příklady
) Vložit všechny údaje o prodeji příklad
Pojďme vytvořit tabulku s názvem sales pro demonstraci.,
následující prohlášení vloží souhrnné tržby z orders order_items tabulky do sales tabulky:
následující prohlášení načte data z sales tabulka ověřit vložit:
B) Vložte částečné údaje o prodeji příklad
Předpokládám, že chcete kopírovat pouze prodej souhrnné údaje v roce 2017 pro nové tabulky., K tomu, nejprve vytvořit novou tabulku s názvem sales_2017 takto:
stav v WHERE doložka zajišťuje, že data z sales tabulka není zkopírovány do sales_2017 tabulka.,
za Druhé, použití Oracle INSERT INTO SELECT WHERE klauzule kopírovat 2017 prodeje dat do sales_2017 tabulky:
V tomto příkladu, nechtěli jsme specifikovat seznam sloupců v INSERT INTO klauzule, protože výsledek SELECT prohlášení má hodnoty, které odpovídají sloupce sales_2017 tabulka. Kromě toho jsme přidali další podmínku v klauzuliWHERESELECT pro načtení pouze prodejních údajů v roce 2017.,
následující dotaz vybere všechna data z sales_2017 tabulky:
C) Vložení dílčích dat a doslovný hodnotu příklad:
Předpokládejme, že chcete odeslat e-maily všem zákazníkům oznamuje nové produkty. Chcete-li to provést, můžete zkopírovat zákaznická data do samostatné tabulky a sledovat stav odesílání e-mailů.,
za Prvé, vytvořit novou tabulku s názvem customer_lists takto:
za Druhé, zkopírujte data z contacts tabulky customer_lists tabulky:
V tomto příkladu, kromě načítání dat z contacts tabulka, použili jsme také doslovný 0 jako hodnotu pro sent sloupce.,
následující dotaz načte data z customer_lists tabulky:
Všimněte si, že tento příklad je jen pro demonstraci, můžete přidat DEFAULT 0 definice sent sloupce.
 v tomto tutoriálu jste se naučili používat příkaz Oracle INSERT INTO SELECT pro vložení dat do tabulky z výsledku dotazu.
- byl tento tutoriál užitečný?
- YesNo