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: