Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle PLSQL Interviewfragen

Hier ist die Zusammenstellung der am häufigsten gestellten Oracle Plsql-Interviewfragen Diese werden Ihnen sicher im Vorstellungsgespräch helfen. Die Fragen reichen von einfachen bis zu fortgeschrittenen Niveaus und decken die meisten Aspekte der PLSQL-Programmierung ab. Ich hoffe, Sie finden das nützlich

Frage (1) Was ist Oracle PLSQL?
Antwort
PL/SQL ist eine prozedurale Spracherweiterung der Structured Query Language (SQL). Der Zweck von PL/SQL besteht darin, Datenbanksprache und prozedurale Programmiersprache zu kombinieren


Frage(2) Was sind die Komponenten eines PL/SQL-Blocks?
Antwort
Deklarativer Teil, ausführbarer Teil und Ausnahmeteil.

Frage (3) Welche Datentypen sind in PL/SQL verfügbar?
Antwort
Einige skalare Datentypen wie
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Einige zusammengesetzte Datentypen wie RECORD &TABLE.

Frage (4) Was ist ein Cursor? Warum ist ein Cursor erforderlich?
Antwort
Der Cursor ist ein benannter privater SQL-Bereich, aus dem auf Informationen zugegriffen werden kann.
Cursor sind erforderlich, um Zeilen einzeln für Abfragen zu verarbeiten, die mehrere Zeilen zurückgeben.

Frage (5)  Was ist der Unterschied zwischen Prozedur und Funktion?
Antwort

Funktion Verfahren
Die Funktion muss einen Wert zurückgeben Verfahren muss nicht
Syntax 
Funktionsname (Argumentliste …..) Rückgabedatentyp ist
lokale Variablendeklarationen
Beginn
ausführbare Anweisungen
Ausnahme
Ausführungshandler
Ende;
Syntax
PROZEDUR-Name (Parameterliste…..)
ist
lokale Variablendeklarationen
BEGIN
Ausführbare Anweisungen.
Ausnahme.
Ausnahme-Handler
Ende;
Die Funktion kann mit einigen Einschränkungen in SQL verwendet werden Die Prozedur kann nicht direkt aus SQL aufgerufen werden.

Frage (6) Was ist der Unterschied zwischen DELETE und TRUNCATE?
Antwort

Löschen Abschneiden
DELETE ist ein DML-Befehl TRUNCATE ist ein DDL-Befehl.
Syntax 
Lösche * aus Tabelle
Commit;
Syntax
Tabelle abschneiden;
Die Hochwassermarke wird nicht verändert TRUNCATE setzt die Speicherblöcke nach der Ausführung zurück, d. h. es setzt die High-Watermark des Objekts
Es kann ein Rollback sein Es kann kein Rollback sein
Löschauslöser werden ausgelöst Es werden keine Trigger ausgelöst
Rollback-Segmente werden verwendet Es werden weniger Rollback-Segmente verwendet und es ist viel schneller

Frage (7) Was ist impliziter Cursor und expliziter Cursor?
Antwort

Impliziter Cursor Expliziter Cursor
Impliziter Cursor wird von Oracle intern definiert und gesteuert. Der explizite Cursor wird programmatisch definiert und gesteuert.
Syntax 
deklarieren Sie
v_dept varchar2(50);
Beginnen Sie
wählen Sie Abteilung in v_Abteilung aus Abteilung, wobei Standort =„XYZ“;
Ende;
Syntax
deklarieren Sie
v_dept varchar2(50);
Cursor Cur_dept ist select dept in v_dept from dept wobei location =‘XYZ’;
Beginne
Cur_dept öffnen;
Cur_dept in v_dept holen;
Cur_dept schließen;
Ende;
Alle Auswahl-/Aktualisierungsabfragen, die im PL/SQL-Block verwendet werden, sind ein impliziter Cursor Expliziter Cursor ist offen, holen und schließen

Frage (8) Was sind rowid und rownum?
Antwort
Rowid ist eine eindeutige Hexadezimalzahl für jede Zeile einer Tabelle, die für die Suche verwendet wird.
Rownum ist eine eindeutige Ganzzahl für jede Zeile einer Tabelle, die kann zum Sortieren oder Analysieren verwendet werden.

Frage (9)  Erklären Sie den Unterschied zwischen FUNCTION, PROCEDURE und PACKAGE
Antwort

Funktion -Eine Funktion hat in ihrer Spezifikation einen Rückgabetyp und muss einen in diesem Typ angegebenen Wert zurückgeben.
-Sie werden in kompilierter Form in der Datenbank gespeichert
– Funktionen können überall in einem gültigen aufgerufen werden Ausdruck
Select fnd_profile.value('xyz)  von dual;
Verfahren -Eine Prozedur hat keinen Rückgabetyp in ihrer Spezifikation und sollte keinen Wert zurückgeben, aber sie kann eine Rückgabeanweisung haben, die einfach ihre Ausführung stoppt und zum Aufrufer zurückkehrt
-Sie werden in kompilierter Form gespeichert in der Datenbank
-Prozeduren werden als eigenständige ausführbare Anweisungen aufgerufen:my_proc(parameter1,parameter2…);
Pakete -Pakete enthalten Funktionen, Prozeduren und andere Datenstrukturen.
– Die Vorteile von Paketen sind Modularität, einfacheres Anwendungsdesign und Informationen.
Ausblenden, Wiederverwendbarkeit und bessere Leistung.
-Es gibt eine Reihe von Unterschieden zwischen gepackten und nicht gepackten PL/SQL-Programmen.
Paket Die Daten im Paket bleiben für die Dauer der Benutzersitzung bestehen. Die Daten im Paket existieren somit über Commits in der Sitzung hinweg.
-Wenn Sie Ausführungsrechte für ein Paket gewähren, gilt dies für alle Funktionen und Prozeduren sowie Datenstrukturen in der Paketspezifikation. Sie können innerhalb eines Pakets nicht nur einer Prozedur oder Funktion Privilegien erteilen. Sie können Prozeduren und Funktionen innerhalb eines Pakets überladen, indem Sie mehrere Programme mit demselben Namen deklarieren. Das richtige aufzurufende Programm wird zur Laufzeit anhand der Anzahl der Datentypen der Parameter entschieden.

Frage (10)  Commit, Rollback und Save-Point definieren.

Antworten.

Übernehmen Commit wird verwendet, um die Transaktion dauerhaft zu machen
Folgendes passiert, wenn ein Commit ausgeführt wird
a)Alle von der Transaktion ausgeführten Arbeiten werden dauerhaft.
b)Andere Benutzer können Änderungen an Daten sehen, die durch die Transaktion vorgenommen wurden.
c )Alle von der Transaktion erworbenen Sperren werden aufgehoben.
Zurücksetzen Rollback wird verwendet, um die Transaktion rückgängig zu machen .
Folgendes geschieht, wenn ein Rollback ausgeführt wird
a) Alle von der Transaktion ausgeführten Arbeiten werden rückgängig gemacht, als ob sie nicht ausgegeben worden wären.
b) Alle von der Transaktion erworbenen Sperren werden freigegeben .
Speicherpunkt Ein SAVEPOINT ist ein Punkt in einer Transaktion, an dem Sie die Transaktion bis zu einem bestimmten Punkt zurücksetzen können, ohne die gesamte Transaktion zurückzusetzen.

Frage (11)  Was sind SQLCODE und SQLERRM und warum sind sie wichtig für PL/SQL-Entwickler?
Antwort

SQLCODE gibt den Wert der Fehlernummer für den zuletzt aufgetretenen Fehler zurück. Der SQLERRM gibt die tatsächliche Fehlermeldung für den zuletzt aufgetretenen Fehler zurück. Sie können bei der Ausnahmebehandlung verwendet werden, um den im Code aufgetretenen Fehler zu melden oder in einer Fehlerprotokolltabelle zu speichern. Diese sind besonders nützlich für die WHEN OTHERS-Ausnahme.

Frage (12) Wie können Sie innerhalb eines PL/SQL-Blocks feststellen, ob ein Cursor geöffnet ist?
Antwort
Verwenden Sie die %ISOPEN-Cursor-Statusvariable.

Frage (13) Wie können Sie Debugging-Ausgaben von PL/SQL generieren?
Antwort
Verwenden Sie das Paket DBMS_OUTPUT. Eine andere mögliche Methode besteht darin, einfach den Befehl SHOW ERROR zu verwenden, aber dieser zeigt nur Fehler an. Das DBMS_OUTPUT-Paket kann verwendet werden, um Zwischenergebnisse von Schleifen und den Status von Variablen anzuzeigen, während die Prozedur ausgeführt wird. Das neue Paket UTL_FILE kann ebenfalls verwendet werden.

Frage (14) Was sind PL/SQL-Ausnahmen?
Antwort
Einige davon sind
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Null_Fehler usw.

Frage (15) Wie viele Trigger können Sie maximal auf eine einzelne Tabelle anwenden?
Antworten
12 Auslöser.

Frage (16) Was sind die zwei Teile des Pakets?
Antwort
Die beiden Teile sind Paketspezifikation und Paketkörper
Sie bestehen aus der Paketspezifikation, die die Funktions-Header, Prozedur-Header und extern sichtbare Datenstrukturen enthält. Der Paketkörper enthält die Deklarations-, ausführbaren und Ausnahmebehandlungsabschnitte aller gebündelten Prozeduren und Funktionen.

Frage (17) Was ist das Überladen von Prozeduren?
Antwort
Wiederholung des gleichen Prozedurnamens mit einer anderen Parameterliste

Frage (18) Welche Arten von Parametern können an eine Prozedur übergeben werden?
Antwort
Parameter IN, OUT, IN-OUT.

Frage (19) Welchen Befehl würden Sie verwenden, um eine PL/SQL-Anwendung zu verschlüsseln?
Antworten
WRAP

Frage (20) Wie viele Arten von Triggern gibt es in PL/SQL?
Antwort
Es gibt 12 Arten von Triggern in PL/SQL, die die Kombination der Schlüsselwörter BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE und ALL enthalten.
◦BEFORE ALL ROW INSERT
◦NACH ALLEN ZEILEN EINFÜGEN
◦VOR EINFÜGEN
◦NACH EINFÜGEN usw.

Frage (21) Nennen Sie die Tabellen, in denen die Merkmale von Paket, Prozedur und Funktionen gespeichert sind?
Antwort
dba_objects, dba_Source und dba_error.
oder
user_objects,user_Source und user_error.

Frage (22) Was ist eine gespeicherte Prozedur?
Antwort
Eine gespeicherte Prozedur ist eine Folge von Anweisungen oder ein benannter PL/SQL-Block, der eine oder mehrere spezifische Funktionen ausführt. Es ähnelt einem Verfahren in anderen Programmiersprachen. Es wird in der Datenbank gespeichert und kann wiederholt ausgeführt werden. Es wird als Schemaobjekt gespeichert. Es kann verschachtelt, aufgerufen und parametrisiert werden.

Frage (23) Wie führe ich eine gespeicherte Prozedur aus?
Antwort
Es gibt zwei Möglichkeiten, eine gespeicherte Prozedur auszuführen.
Schreiben Sie an der SQL-Eingabeaufforderung EXECUTE oder EXEC, gefolgt von Prozedurname

Frage (24) Was ist Raise_application_error?
Antwort
Raise_application_error ist eine Prozedur des Pakets DBMS_STANDARD, die es ermöglicht, benutzerdefinierte Fehlermeldungen von gespeicherten Unterprogrammen oder Datenbanktriggern auszugeben.

Frage (25) Was ist Pragma EXECPTION_INIT? Erklären Sie die Verwendung?
Antworten
PRAGMA EXCEPTION_INIT weist den Compiler an, eine Ausnahme mit einem Orakelfehler zu verknüpfen. Um eine Fehlermeldung zu einem bestimmten Oracle-Fehler zu erhalten.

z.B. PRAGMA EXCEPTION_INIT (Ausnahmename, Oracle-Fehlernummer)

Ich hoffe, Ihnen gefällt diese Zusammenstellung von Oracle PlSQL-Interviewfragen. Ich werde in Zukunft weitere solcher Fragen posten

Verwandte Links

Interviewfragen und -antworten zu Oracle-Apps

Oracle-DBA-Interviewfragen

Oracle RAC-Interviewfragen

Weblogic-Interviewfragen

Ich hoffe, Ihnen gefällt die Zusammenstellung von Oracle-plsql-Interviewfragen. Bitte geben Sie Feedback