Putem folosi instrucțiunea DDL în procedură în Oracle?
Putem folosi instrucțiunea DDL în procedură în Oracle?

Video: Putem folosi instrucțiunea DDL în procedură în Oracle?

Video: Putem folosi instrucțiunea DDL în procedură în Oracle?
Video: Oracle interview question : Can we use DML and DDL statements inside function? 2024, Noiembrie
Anonim

Declarații DDL nu au voie să intre Proceduri ( PLSQL BLOC) PL/SQL obiectele sunt precompilate. Pe de altă parte, DDL (Limba de definire a datelor) declarații precum CREATE, DROP, ALTER comenzi și DCL (Limbaj de control al datelor) declarații cum ar fi GRANT, REVOKE poate sa modifica dependențele în timpul execuției programului.

Mai mult, putem folosi instrucțiuni DDL în procedura stocată?

Tu poate utiliza numai DDL COMETARIU declarații într-o procedură stocată . Nu puteți specifica COMENTARIU DML declarații , care sunt limitate la încorporate SQL aplicații, pentru a prelua comentariile pentru obiectele bazei de date, coloanele unui tabel și parametrii. Toate variantele CREATE TABLE afirmație sunt valabile.

Ulterior, întrebarea este, putem folosi declarația DML în procedură? Tu poate sa introduceți direct limbajul de manipulare a datelor SQL ( DML ) declarații în interiorul blocurilor PL/SQL și tu pot folosi proceduri , furnizat de Oracle, pentru a realiza limbajul de definire a datelor (DDL) declarații.

Doar așa, putem folosi instrucțiunea DDL în funcție în Oracle?

Nu DDL permis: A funcţie apelat din interiorul unui SQL afirmație este restrâns împotriva DDL deoarece DDL emite un commit implicit. Nu puteți emite niciuna Declarații DDL din interiorul a Funcția PL/SQL . Restricții împotriva constrângerilor: Nu puteți utilizare A funcţie în constrângerea de verificare a unui tabel de creare Declarație DDL.

Cum rulez un script DDL în Oracle?

  1. Pasul 1: Pregătiți-vă DDL-ul în prealabil.
  2. Pasul 2: Rulați DDL prin programul PL/SQL utilizând Execute Immediate.
  3. În primul rând: includeți întotdeauna instrucțiunea SQL într-o pereche de ghilimele simple.
  4. În al doilea rând: Ai grijă de punct și virgulă.

Recomandat: