Oracle
 sql >> Base de données >  >> RDS >> Oracle

Questions d'entretien avec Oracle PLSQL

Voici la compilation des questions d'entretien oracle plsql les plus fréquemment posées. Ceux-ci vous aideront à coup sûr lors de l'entretien. Les questions vont du niveau de base au niveau avancé et couvrent la plupart des aspects de la programmation PLSQL. J'espère que vous trouverez cela utile

Question (1) Qu'est-ce qu'Oracle PLSQL ?
Réponse
PL/SQL est une extension de langage procédural du langage de requête structuré (SQL). Le but du PL/SQL est de combiner langage de base de données et langage de programmation procédural


Question(2) Quels sont les composants d'un bloc PL/SQL ?
Réponse
Partie déclarative, partie exécutable et partie d'exception.

Question (3) Quels sont les types de données disponibles en PL/SQL ?
Réponse
Certains types de données scalaires tels que
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Certains types de données composites tels que RECORD &TABLE.

Question (4) Qu'est-ce qu'un curseur ? Pourquoi le curseur est-il requis ?
Répondre
Le curseur est une zone SQL privée nommée à partir de laquelle les informations sont accessibles.
Les curseurs sont nécessaires pour traiter les lignes individuellement pour les requêtes renvoyant plusieurs lignes.

Question (5)  Quelle est la différence entre procédure et fonction ?
Réponse

Fonction Procédure
La fonction doit renvoyer une valeur La procédure n'est pas nécessaire
Syntaxe 
NOM DE LA FONCTION (liste d'arguments …..) Le type de données de retour est
déclarations de variables locales
Début
instructions exécutables
Exception
gestionnaires d'exécution
Fin;
Syntaxe
PROCEDURE nom (liste de paramètres…..)
est
des déclarations de variables locales
BEGIN
Instructions exécutables.
Exception.
gestionnaires d'exceptions
La fonction peut être utilisée en SQL avec certaines restrictions La procédure ne peut pas être appelée directement depuis SQL.

Question (6) Quelle est la différence entre DELETE et TRUNCATE ?
Réponse

Supprimer Tronquer
SUPPRIMER est une commande DML TRUNCATE est une commande DDL.
Syntaxe 
Supprimer * du tableau
Valider ;
Syntaxe
Tronquer la table  ;
Cela ne change pas la ligne des hautes eaux TRUNCATE réinitialise les blocs de mémoire après l'exécution, c'est-à-dire qu'il définit la limite supérieure de l'objet
Cela peut être rollback Il ne peut pas être restauré
Le déclencheur de suppression est activé Aucun déclencheur ne sera déclenché
Les segments de rollback sont utilisés Moins de segments d'annulation sont utilisés et c'est beaucoup plus rapide

Question (7) Qu'est-ce qu'un curseur implicite et un curseur explicite ?
Réponse

Curseur implicite Curseur explicite
Le curseur implicite est défini et contrôlé par Oracle en interne. Le curseur explicite est défini et contrôlé par programmation.
Syntaxe 
déclarez
v_dept varchar2(50);
commencez
sélectionnez dept dans v_dept à partir de dept where location ='XYZ' ;
fin ;
Syntaxe
déclarez
v_dept varchar2(50);
Le curseur Cur_dept est select dept dans v_dept from dept where location ='XYZ' ;
commencer
Ouvrir Cur_dept ;
Récupérer Cur_dept dans v_dept ;
Fermer Cur_dept ;
fin ;
Toute requête de sélection/mise à jour utilisée dans le bloc PL/SQL est un curseur implicite Le curseur explicite est ouvert, récupéré et fermé

Question (8) Que sont rowid et rownum ?
Réponse
Rowid est un nombre unique hexadécimal pour chaque ligne d'une table utilisée pour la recherche.
Rownum est un nombre entier unique pour chaque ligne d'une table qui peut être utilisé pour le tri ou l'analyse.

Question (9)  Expliquez la différence entre une FONCTION, une PROCÉDURE et un FORFAIT
Réponse

Fonction -Une fonction a un type de retour dans sa spécification et doit retourner une valeur spécifiée dans ce type.
-Elles sont stockées sous forme compilée dans la base de données
– Les fonctions peuvent être appelées n'importe où dans un expression
Sélectionnez fnd_profile.value('xyz)  à partir de dual ;
Procédure -Une procédure n'a pas de type de retour dans sa spécification et ne doit pas retourner de valeur, mais elle peut avoir une instruction de retour qui arrête simplement son exécution et revient à l'appelant
-Elles sont stockées sous forme compilée dans la base de données
-Les procédures sont appelées en tant qu'instructions exécutables autonomes :my_proc(parameter1,parameter2…) ;
Forfaits -Les packages contiennent des fonctions, des procédures et d'autres structures de données.
– Les avantages des packages sont la modularité, la conception d'application simplifiée et l'information.
Masquage, réutilisation et meilleures performances.
-Il existe un certain nombre de différences entre les programmes PL/SQL packagés et non packagés.
Package Les données du package sont persistantes pendant toute la durée de la session de l'utilisateur. Les données du package existent donc entre les validations de la session.
-Si vous accordez le privilège d'exécution sur un package, c'est pour toutes les fonctions et procédures, et les structures de données dans la spécification du package. Vous ne pouvez pas accorder de privilèges sur une seule procédure ou fonction dans un package. Vous pouvez surcharger des procédures et des fonctions dans un package, en déclarant plusieurs programmes avec le même nom. Le bon programme à appeler est décidé au moment de l'exécution, en fonction du nombre de types de données des paramètres.

Question (10)  Définissez Commit, Rollback et Save-point.

Répondre.

Engager Commit est utilisé pour rendre la transaction permanente
Les événements suivants se produisent lorsqu'un commit est exécuté
a) Tout le travail effectué par la transaction devient permanent.
b) Les autres utilisateurs peuvent voir les modifications apportées aux données par la transaction.
c )Tous les verrous acquis par la transaction sont libérés.
Rollback La restauration est utilisée pour annuler la transaction .
Les événements suivants se produisent lorsqu'une annulation est exécutée
a) Tout le travail effectué par la transaction est annulé comme s'il n'avait pas été émis.
b) Tous les verrous acquis par la transaction sont libérés .
Point de sauvegarde Un SAVEPOINT est un point dans une transaction où vous pouvez restaurer la transaction jusqu'à un certain point sans restaurer l'intégralité de la transaction.

Question (11)  Que sont SQLCODE et SQLERRM et pourquoi sont-ils importants pour les développeurs PL/SQL ?
Réponse

SQLCODE renvoie la valeur du numéro d'erreur de la dernière erreur rencontrée. Le SQLERRM renvoie le message d'erreur réel pour la dernière erreur rencontrée. Ils peuvent être utilisés dans la gestion des exceptions pour signaler ou stocker dans une table du journal des erreurs l'erreur qui s'est produite dans le code. Celles-ci sont particulièrement utiles pour l'exception WHEN OTHERS.

Question (12) Comment pouvez-vous trouver dans un bloc PL/SQL, si un curseur est ouvert ?
Réponse
Utilisez la variable d'état du curseur %ISOPEN.

Question (13) Comment pouvez-vous générer une sortie de débogage à partir de PL/SQL ?
Réponse
Utilisez le package DBMS_OUTPUT. Une autre méthode possible consiste à utiliser simplement la commande SHOW ERROR, mais cela n'affiche que les erreurs. Le package DBMS_OUTPUT peut être utilisé pour afficher les résultats intermédiaires des boucles et l'état des variables lors de l'exécution de la procédure. Le nouveau package UTL_FILE peut également être utilisé.

Question (14) Que sont les exceptions PL/SQL ?
Réponse
Certains d'entre eux sont
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error etc.

Question (15) Quel est le nombre maximum de déclencheurs que vous pouvez appliquer sur une seule table ?
Réponse
12 déclencheurs.

Question (16) Quelles sont les deux parties du package ?
Réponse
Les deux parties sont la spécification du package et le corps du package
Ils se composent de la spécification du package, qui contient les en-têtes de fonction, les en-têtes de procédure et les structures de données visibles de l'extérieur. Le corps du package contient les sections de déclaration, d'exécutable et de gestion des exceptions de toutes les procédures et fonctions groupées.

Question (17) Qu'est-ce que la surcharge de procédures ?
Réponse
Répétition du même nom de procédure avec une liste de paramètres différente

Question (18) Quels sont les modes de paramètres qui peuvent être passés à une procédure ?
Réponse
Paramètres IN, OUT, IN-OUT.

Question (19) Quelle commande utiliseriez-vous pour chiffrer une application PL/SQL ?
Réponse
ENVELOPPER

Question (20) Combien de types de déclencheurs existent en PL/SQL ?
Réponse
Il existe 12 types de déclencheurs en PL/SQL qui contiennent la combinaison des mots clés BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE et ALL.
◦BEFORE ALL ROW INSERT
◦APRÈS TOUT INSÉRER LIGNE
◦AVANT INSÉRER
◦APRÈS INSÉRER etc.

Question (21) Nommez les tables dans lesquelles les caractéristiques du package, de la procédure et des fonctions sont stockées ?
Réponse
dba_objects, dba_Source et dba_error.
ou
user_objects,user_Source et user_error.

Question (22) Qu'est-ce qu'une procédure stockée ?
Réponse
Une procédure stockée est une séquence d'instructions ou un bloc PL/SQL nommé qui exécute une ou plusieurs fonctions spécifiques. Il est similaire à une procédure dans d'autres langages de programmation. Il est stocké dans la base de données et peut être exécuté à plusieurs reprises. Il est stocké en tant qu'objet de schéma. Il peut être imbriqué, invoqué et paramétré.

Question (23) Comment exécuter une procédure stockée ?
Réponse
Il existe deux façons d'exécuter une procédure stockée.
Depuis l'invite SQL, écrivez EXECUTE ou EXEC suivi de nom_procédure

Question (24) Qu'est-ce que Raise_application_error ?
Réponse
Raise_application_error est une procédure du package DBMS_STANDARD qui permet d'émettre des messages d'erreur définis par l'utilisateur à partir d'un sous-programme stocké ou d'un déclencheur de base de données.

Question (25) Qu'est-ce que Pragma EXECPTION_INIT ? Expliquez l'utilisation ?
Répondez
Le PRAGMA EXCEPTION_INIT indique au compilateur d'associer une exception à une erreur oracle. Pour obtenir un message d'erreur d'une erreur oracle spécifique.

par exemple. PRAGMA EXCEPTION_INIT (nom de l'exception, numéro d'erreur oracle)

J'espère que vous aimez cette compilation de questions d'entretien Oracle PlSQL. Je posterai d'autres questions de ce type à l'avenir

Liens connexes

Questions et réponses d'entretien sur les applications Oracle

questions d'entretien d'Oracle dba

Questions d'entretien Oracle RAC

Questions d'entretien chez Weblogic

J'espère que vous aimez la compilation de questions d'entrevue oracle plsql. Merci de nous faire part de vos commentaires