Oracle
 sql >> Database >  >> RDS >> Oracle

domande dell'intervista Oracle PLSQL

Ecco la raccolta delle domande più frequenti sull'intervista a Oracle plsql. Questi ti aiuteranno sicuramente nel colloquio. Le domande vanno dal livello base al livello avanzato e coprono la maggior parte degli aspetti della programmazione PLSQL. Spero che lo trovi utile

Domanda (1) Che cos'è Oracle PLSQL?
Risposta
PL/SQL è un'estensione del linguaggio procedurale di SQL (Structured Query Language). Lo scopo di PL/SQL è di combinare il linguaggio di database e il linguaggio di programmazione procedurale


Domanda(2) Quali sono i componenti di un blocco PL/SQL?
Risposta
Parte dichiarativa, parte eseguibile e parte eccezione.

Domanda (3) Quali sono i tipi di dati disponibili in PL/SQL?
Risposta
Alcuni tipi di dati scalari come
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Alcuni tipi di dati compositi come RECORD &TABLE.

Domanda (4) Cos'è un cursore? Perché è necessario il cursore?
Risposta
Il cursore è un'area SQL privata denominata da cui è possibile accedere alle informazioni.
I cursori sono necessari per elaborare le righe singolarmente per le query che restituiscono più righe.

Domanda (5)  Qual è la differenza tra procedura e funzione?
Risposta

Funzione Procedura
La funzione deve restituire un valore Procedura non necessaria
Sintassi 
Nome FUNZIONE (elenco di argomenti …..) Il tipo di dati restituito è
Dichiarazioni di variabili locali
Begin
istruzioni eseguibili
Eccezione
gestori di esecuzione
Fine;
Sintassi
nome PROCEDURA (elenco parametri…..)
è
dichiarazioni di variabili locali
BEGIN
Istruzioni eseguibili.
Eccezione.
gestori di eccezioni
fine;
La funzione può essere utilizzata in SQL con qualche restrizione La procedura non può essere chiamata direttamente da SQL.

Domanda (6) Qual è la differenza tra DELETE e TRUNCATE?
Risposta

Elimina Tronca
DELETE è un comando DML TRUNCATE è un comando DDL.
Sintassi 
Elimina * dalla tabella
Commit;
Sintassi
Tronca la tabella ;
Non cambia l'high water mark TRUNCATE reimposta i blocchi di memoria dopo l'esecuzione, ovvero imposta il limite massimo dell'oggetto
Può essere ripristinato Non può essere ripristinato
Il trigger di eliminazione viene attivato Nessun trigger verrà attivato
Sono utilizzati i segmenti di rollback Sono utilizzati meno segmenti di rollback ed è molto più veloce

Domanda (7) Che cos'è il cursore implicito e il cursore esplicito?
Risposta

Cursore implicito Cursore esplicito
Il cursore implicito è definito e controllato da Oracle internamente. Il cursore esplicito è definito e controllato a livello di programmazione.
Sintassi 
dichiara
v_dept varchar2(50);
inizia
seleziona dept in v_dept da dept where location ='XYZ';
fine;
Sintassi
dichiara
v_dept varchar2(50);
Il cursore Cur_dept è selezionare dept in v_dept da dept dove location ='XYZ';
inizio
Apri Cur_dept;
Recupera Cur_dept in v_dept;
Chiudi Cur_dept;
fine;
Tutte le query di selezione/aggiornamento utilizzate nel blocco PL/SQL sono un cursore implicito Il cursore esplicito è aperto, recupera e chiude

Domanda (8) Cosa sono rowid e rownum?
Risposta
Rowid è un numero esadecimale univoco per ogni riga di una tabella utilizzata per la ricerca.
Rownum è un numero intero univoco per ogni riga di una tabella che può essere utilizzato per l'ordinamento o l'analisi.

Domanda (9)  Spiega la differenza tra FUNZIONE, PROCEDURA e PACCHETTO
Risposta

Funzione -Una funzione ha un tipo restituito nella sua specifica e deve restituire un valore specificato in quel tipo.
-Sono archiviate in forma compilata nel database
– Le funzioni possono essere chiamate ovunque in un valido espressione
Seleziona fnd_profile.value('xyz) da dual;
Procedura -Una procedura non ha un tipo restituito nella sua specifica e non dovrebbe restituire alcun valore, ma può avere un'istruzione return che semplicemente interrompe la sua esecuzione e ritorna al chiamante
-Sono archiviati in forma compilata nel database
-Le procedure sono chiamate come istruzioni eseguibili autonome:my_proc(parametro1,parametro2…);
Pacchetti -I pacchetti contengono funzioni, procedure e altre strutture di dati.
– I vantaggi dei pacchetti sono modularità, progettazione delle applicazioni più semplice e informazioni.
Nascondimento, riutilizzabilità e prestazioni migliori.
-Esistono numerose differenze tra i programmi PL/SQL in pacchetto e non in pacchetto.
Pacchetto I dati nel pacchetto sono persistenti per la durata della sessione dell'utente. I dati nel pacchetto esistono quindi tra i commit nella sessione.
-Se si concede il privilegio di esecuzione su un pacchetto, è per tutte le funzioni, le procedure e le strutture di dati nella specifica del pacchetto. Non è possibile concedere privilegi su una sola procedura o funzione all'interno di un pacchetto. È possibile sovraccaricare procedure e funzioni all'interno di un pacchetto, dichiarando più programmi con lo stesso nome. Il programma corretto da richiamare viene deciso in fase di esecuzione, in base al numero di tipi di dati dei parametri.

Domanda (10)   Definisci commit, rollback e punto di salvataggio.

Rispondi.

Commit Commit viene utilizzato per rendere permanente la transazione
Quando viene eseguito un commit si verificano le seguenti cose
a)Tutto il lavoro svolto dalla transazione diventa permanente.
b)Altri utenti possono vedere le modifiche ai dati apportate dalla transazione.
c ) Eventuali blocchi acquisiti dalla transazione vengono rilasciati.
Ripristino Il rollback viene utilizzato per annullare la transazione .
Quando viene eseguito un rollback, si verificano le seguenti cose
a)Tutto il lavoro svolto dalla transazione viene annullato come se non fosse stato emesso.
b) Eventuali blocchi acquisiti dalla transazione vengono rilasciati .
Punto di salvataggio Un SAVEPOINT è un punto in una transazione in cui puoi ripristinare la transazione fino a un certo punto senza annullare l'intera transazione.

Domanda (11)  Cosa sono SQLCODE e SQLERRM e perché sono importanti per gli sviluppatori PL/SQL?
Risposta

SQLCODE restituisce il valore del numero di errore per l'ultimo errore riscontrato. SQLERRM restituisce il messaggio di errore effettivo per l'ultimo errore riscontrato. Possono essere utilizzati nella gestione delle eccezioni per segnalare o archiviare in una tabella di registro degli errori l'errore che si è verificato nel codice. Questi sono particolarmente utili per l'eccezione QUANDO ALTRI.

Domanda (12) Come puoi trovare all'interno di un blocco PL/SQL, se un cursore è aperto?
Risposta
Utilizza la variabile di stato del cursore %ISOPEN.

Domanda (13) Come puoi generare output di debug da PL/SQL?
Risposta
Utilizza il pacchetto DBMS_OUTPUT. Un altro metodo possibile consiste nell'usare semplicemente il comando SHOW ERROR, ma questo mostra solo errori. Il pacchetto DBMS_OUTPUT può essere utilizzato per mostrare i risultati intermedi dei loop e lo stato delle variabili durante l'esecuzione della procedura. È possibile utilizzare anche il nuovo pacchetto UTL_FILE.

Domanda (14) Cosa sono le eccezioni PL/SQL?
Risposta
Alcuni di loro sono
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error ecc.

Domanda (15) Qual è il numero massimo di attivatori che puoi applicare su un singolo tavolo?
Risposta
12 attivatori.

Domanda (16) Quali sono le due parti del pacchetto?
Risposta
Le due parti sono la specifica del pacchetto e il corpo del pacchetto
Sono costituite dalla specifica del pacchetto, che contiene le intestazioni delle funzioni, le intestazioni delle procedure e le strutture dei dati visibili esternamente. Il corpo del pacchetto contiene le sezioni di dichiarazione, eseguibile e gestione delle eccezioni di tutte le procedure e le funzioni in bundle.

Domanda (17) Che cos'è il sovraccarico delle procedure?
Risposta
Ripetizione dello stesso nome della procedura con un elenco di parametri diverso

Domanda (18) Quali sono le modalità dei parametri che possono essere passati a una procedura?
Risposta
Parametri IN, OUT, IN-OUT.

Domanda (19) Quale comando useresti per crittografare un'applicazione PL/SQL?
Rispondi
AVVOLGIMENTO

Domanda (20) Quanti tipi di trigger esistono in PL/SQL?
Risposta
Ci sono 12 tipi di trigger in PL/SQL che contengono la combinazione di parole chiave PRIMA, DOPO, ROW, TABLE, INSERT, UPDATE, DELETE e ALL.
◦BEFORE ALL ROW INSERT
◦ DOPO TUTTO INSERTO FILA
◦ PRIMA INSERTO
◦ DOPO INSERTO ecc.

Domanda (21) Assegna un nome alle tabelle in cui sono archiviate le caratteristiche di Pacchetto, procedura e funzioni?
Rispondi
dba_objects, dba_Source e dba_error.
o
user_objects,user_Source e user_error.

Domanda (22) Che cos'è la procedura memorizzata?
Risposta
Una procedura memorizzata è una sequenza di istruzioni o un blocco PL/SQL denominato che esegue una o più funzioni specifiche. È simile a una procedura in altri linguaggi di programmazione. È memorizzato nel database e può essere eseguito ripetutamente. Viene memorizzato come oggetto schema. Può essere nidificato, invocato e parametrizzato.

Domanda (23) Come eseguire una procedura memorizzata?
Risposta
Esistono due modi per eseguire una procedura memorizzata.
Dal prompt SQL, scrivere EXECUTE o EXEC seguito da nome_procedura

Domanda (24) Che cos'è Raise_application_error?
Risposta
Raise_application_error è una procedura del pacchetto DBMS_STANDARD che consente di inviare messaggi di errore definiti dall'utente dal sottoprogramma memorizzato o dal trigger del database.

Domanda (25) Che cos'è Pragma EXECPTION_INIT? Spiega l'utilizzo?
Rispondi
PRAGMA EXCEPTION_INIT dice al compilatore di associare un'eccezione a un errore Oracle. Per ricevere un messaggio di errore di un errore Oracle specifico.

per esempio. PRAGMA EXCEPTION_INIT (nome eccezione, numero errore Oracle)

Spero che questa raccolta di domande dell'intervista su Oracle PlSQL ti piaccia. Pubblicherò altre domande simili in futuro

Link correlati

Domande e risposte per interviste alle app Oracle

domande dell'intervista di Oracle Dba

Domande sull'intervista Oracle RAC

Domande sul colloquio Weblogic

Spero che ti piaccia la compilazione delle domande dell'intervista di Oracle plsql. Si prega di fornire il feedback