8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux

Home „Articole” Diverse ” Aici

Aceasta este cea de-a opta parte dintr-o serie de articole care prezintă elementele de bază ale SQL. În acest articol vom arunca o privire la unele dintre variațiile de pe INSERT declarație.,

  • Setup
  • COMMIT și ROLLBACK
  • insert de bază
  • INSERT in View
  • INSERT … Selectați
  • subqueries Scalar

articole similare.

  • SQL pentru începători (Partea 8): instrucțiunea INSERT
  • SQL pentru începători – Lista De redare completă
  • articole Oracle SQL – Noțiuni de bază
  • inserții Multitable

configurare

puteți efectua toate aceste interogări online gratuit folosind vioara SQL.exemplele din acest articol necesită ca următoarele tabele să fie prezente.,aceste tabele sunt o variantă a tabelelor EMP și DEPT din schema SCOTT. Veți vedea o mulțime de exemple Oracle pe internet folosind tabelele din schema SCOTT. Puteți găsi definițiile tabelului original în ” $ORACLE_HOME/rdbms/admin / utlsampl.script „sql”.în acest articol, vom avea nevoie și de următoarea copie a tabelului angajaților. Observați că am făcut obligatorii coloanele EMPLOYEE_NAME și JOB. Coloana EMPLOYEE_ID este implicit obligatorie, ca urmare a faptului că este cheia primară.,

COMMIT și ROLLBACK

toate modificările limbajului de manipulare a datelor (DML) se fac ca parte a unei tranzacții. Acestea nu sunt permanente până când nu sunt confirmate folosind declarația COMMIT. Odată angajat, singurul mod în care puteți reveni la o modificare este să emiteți o nouă declarație DML pentru a modifica datele. Mai multe declarații pot fi grupate împreună pentru a forma o singură tranzacție.comenzile Data Definition Language (DDL) efectuează o comitere implicită, care confirmă, de asemenea, toate modificările DML restante din sesiunea curentă.,

Dacă decideți că nu doriți să păstrați unele modificări neangajate, le puteți arunca folosind instrucțiunea ROLLBACK. Multe dintre exemplele din acest articol va emiteROLLBACK declarații după test, pentru a reveni datele la starea inițială.

unele instrumente și limbaje de programare implicit la auto-commit, astfel încât acestea emite automat unCOMMIT declarație după fiecare declarație DML ei proces. Nu lăsați acest lucru să vă păcălească să credeți că acesta este un comportament implicit. Nu este.,

insert de bază

cea mai simplă versiune a instrucțiuniiINSERT nu specifică coloanele care trebuie inserate. Se presupune că valorile sunt specificate în ordinea corectă a coloanelor și nu au fost omise valori ale coloanelor. Drept urmare, acest lucru este periculos în codul aplicației, deoarece adăugarea unei coloane în tabel va rupe declarația.

specificarea unei liste de coloane este mult mai sigură, deoarece instrucțiunea nu se va rupe dacă coloanele opționale sunt adăugate în tabel.,

o listă de coloane explicită vă permite, de asemenea, să eliminați coloanele opționale din instrucțiune și să schimbați pozițiile coloanelor din instrucțiune. În următorul exemplu MANAGER_ID, COMISIA și DEPARTMENT_ID coloane au fost eliminate, iar EMPLOYEE_ID coloana a fost mutat la sfârșitul coloanei listă și o listă de valori.

rețineți că nu este permisă pierderea coloanelor obligatorii, decât dacă aveți valori implicite ale coloanelor sau declanșatoare care le populează. În exemplul următor, coloana JOB este omisă, care este o coloană obligatorie în tabelul EMPLOYEES2.,

inserare în vizualizări

este posibil să inserați în tabelul de bază asociat cu o vizualizare. Există unele restricții asociate cu acest lucru, dar acestea sunt puțin în afara domeniului de aplicare pentru un articol la nivel de începător. În exemplul următor, creăm o vizualizare simplă pe tabelul EMPLOYEES2, apoi introducem în el.

nu o veți vedea foarte des, dar puteți, de asemenea, să inserați în vizualizări inline. Acest lucru poate fi folosit pentru a controla lista de coloane pentru inserare, mai degrabă decât folosind o listă de coloane explicită.

INSERT …, SELECTAȚI

este posibil să se creeze mai multe rânduri într-o singură INSERT declarație folosind INSERT ... SELECT sintaxa. Următorul exemplu copiază toate datele din tabelul angajați în tabelul ANGAJAȚII2.

column list în INSERT declarație trebuie să se potrivească SELECT listă în interogare.

regulile normale se aplică pentru porțiunea de interogare a instrucțiunii, astfel încât să puteți filtra datele sau să vă alăturați la alte tabele pentru a colecta datele.,

subqueries Scalar

subqueries Scalar poate fi folosit pentru a Sursa o valoare pentru o INSERT declarație. În exemplul de mai jos, coloana salarială este populată de un subquery scalar, care returnează salariul maxim din tabelul angajaților și adaugă 1000 la acesta.

Pentru mai multe informații, consultați: