8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Home „Články“ Různé “
Tohle je osmý díl ze série článků ukazuje, základy SQL. V tomto článku se podíváme na některé varianty prohlášení INSERT
.,
- Setup
- COMMIT and ROLLBACK
- Basic INSERT
- INSERT into View
- INSERT … Vyberte
- skalární Subqueries
související články.
- SQL pro Začátečníky (Část 8) : INSERT
- SQL pro Začátečníky – Full Playlist
- Oracle SQL Články – začínáme
- Multitable Vloží
Nastavení
můžete provádět všechny tyto dotazy on-line zdarma pomocí SQL Housle.
příklady v tomto článku vyžadují následující tabulky.,
tyto tabulky jsou variantou tabulek EMP a DEPT ze schématu SCOTT. Na internetu uvidíte mnoho příkladů Oracle pomocí tabulek ze schématu SCOTT. Původní definice tabulky najdete v “ $oracle_home / rdbms / admin / utlsampl.SQL “ skript.
v tomto článku budeme také potřebovat následující kopii tabulky zaměstnanců. Všimněte si, že jsme udělali sloupce EMPLOYEE_NAME a JOB povinné. Sloupec EMPLOYEE_ID je implicitně povinný, protože je primárním klíčem.,
odevzdání a vrácení
všechny změny jazyka pro manipulaci s daty (DML) se provádějí jako součást transakce. Nejsou trvalé,dokud nejsou potvrzeny pomocí příkazu COMMIT
. Po spáchání, jediný způsob, jak můžete vrátit změnu, je vydat nové prohlášení DML pro změnu dat. Několik výkazů lze seskupit dohromady a vytvořit jednu transakci.příkazy
Data Definition Language (DDL) provádějí implicitní commit, který také potvrzuje všechny vynikající změny DML v aktuální relaci.,
Pokud se rozhodnete, že si nechcete nechat některé nezávazné změny, můžete je vyhodit pomocí příkazu ROLLBACK
. Mnohé z příkladů v tomto článku bude vydávat ROLLBACK
prohlášení po zkoušce, vrátit data do původního stavu.
některé nástroje a programovací jazyky jsou výchozí pro automatické odevzdání, takže automaticky vydávají COMMIT
po každém příkazu DML, který zpracovávají. Nedovolte, aby vás to oklamalo, abyste si mysleli, že je to výchozí chování. Není.,
základní vložka
nejjednodušší verze příkazu INSERT
neuvádí sloupce, které mají být vloženy. Předpokládá, že hodnoty jsou uvedeny ve správném pořadí sloupců a nebyly vynechány žádné hodnoty sloupců. V důsledku toho je to nebezpečné v aplikačním kódu, protože přidání sloupce do tabulky poruší příkaz.
zadání seznamu sloupců je mnohem bezpečnější, protože příkaz se nerozbije, pokud jsou do tabulky přidány volitelné sloupce.,
seznam explicitních sloupců také umožňuje odstranit volitelné sloupce z příkazu a vyměnit pozice sloupců ve výpisu. V následujícím příkladu byly odstraněny sloupce MANAGER_ID, COMMISSION a DEPARTMENT_ID a sloupec EMPLOYEE_ID byl přesunut na konec seznamu sloupců a seznamu hodnot.
nezapomeňte, že chybějící povinné sloupce nejsou povoleny, pokud nemáte výchozí hodnoty sloupce nebo spouštěče, které je vyplňují. V následujícím příkladu je vynechán sloupec úloh, což je povinný sloupec v tabulce ZAMĚSTNANCŮ2.,
vložit do zobrazení
je možné vložit do základní tabulky přidružené k zobrazení. S tím jsou spojena některá omezení, ale pro článek na úrovni začátečníků jsou trochu mimo rozsah. V následujícím příkladu vytvoříme jednoduchý pohled na tabulku ZAMĚSTNANCŮ2 a poté do ní vložíme.
neuvidíte to velmi často, ale můžete také vložit do inline zobrazení. To lze použít k ovládání seznamu sloupců pro vložku, spíše než pomocí explicitního seznamu sloupců.
vložit …, ZVOLTE
je možné vytvořit více řádků v jednom INSERT
prohlášení pomocí INSERT ... SELECT
syntaxe. Následující příklad zkopíruje všechna data z tabulky zaměstnanců do tabulky EMPLOYEES2.
seznam sloupců INSERT
prohlášení musí odpovídat SELECT
seznam v dotazu.
běžná pravidla platí pro část dotazu příkazu, takže můžete data filtrovat nebo se připojit k jiným tabulkám pro shromažďování dat.,
skalární Subqueries
skalární subqueries lze použít k získání hodnoty proINSERT
prohlášení. V níže uvedeném příkladu je platový sloupec naplněn skalární subquery, která vrací maximální plat z tabulky zaměstnanců a přidává k němu 1000.
Další informace viz:
Napsat komentář