Kan vi bruke DDL-setning i prosedyre i Oracle?
Kan vi bruke DDL-setning i prosedyre i Oracle?

Video: Kan vi bruke DDL-setning i prosedyre i Oracle?

Video: Kan vi bruke DDL-setning i prosedyre i Oracle?
Video: Oracle interview question : Can we use DML and DDL statements inside function? 2024, November
Anonim

DDL-uttalelser er ikke tillatt inn Prosedyrer ( PLSQL BLOKKERE) PL/SQL objekter er forhåndskompilert. På den andre siden, DDL (Datadefinisjonsspråk) uttalelser som CREATE, DROP, ALTER kommandoer og DCL (Data Control Language) uttalelser som GRANT, REVOKE kan endre avhengighetene under kjøringen av programmet.

Kan vi dessuten bruke DDL-setninger i lagret prosedyre?

Du kan bruke kun DDL KOMMENTAR uttalelser i en lagret prosedyre . Du kan ikke spesifisere DML COMMENT uttalelser , som er begrenset til innebygde SQL applikasjoner, for å hente kommentarene for databaseobjekter, kolonner i en tabell og parametere. Alle varianter av CREATE TABLE uttalelse er gyldige.

Deretter er spørsmålet, kan vi bruke DML-setning i prosedyren? Du kan skriv direkte inn SQL-datamanipuleringsspråk ( DML ) uttalelser inne i PL/SQL-blokker, og du kan bruke prosedyrer , levert av Oracle, for å utføre datadefinisjonsspråk (DDL) uttalelser.

Bare så, kan vi bruke DDL-setning i funksjon i Oracle?

Nei DDL tillatt: A funksjon kalles fra innsiden av en SQL uttalelse er begrenset mot DDL fordi DDL utsteder en implisitt forpliktelse. Du kan ikke utstede noen DDL-uttalelser innenfra a PL/SQL funksjon . Begrensninger mot begrensninger: Du kan ikke bruk en funksjon i kontrollbegrensningen til en opprettelsestabell DDL-uttalelse.

Hvordan kjører jeg et DDL-skript i Oracle?

  1. Trinn 1: Forbered DDL på forhånd.
  2. Trinn 2: Kjør DDL gjennom PL/SQL-programmet ved å bruke Execute Immediate.
  3. Først: Omslutt alltid SQL-setningen din i et par enkle anførselstegn.
  4. For det andre: Ta vare på semikolon.

Anbefalt: