Manipuler les questions de données

1.What does ACID mean with respect to relational database?

  1. Précision, cohérence, isolation, base de données
  2. Précision, concurrence, isolation, durabilité
  3. Atomicité, cohérence, isolation, durabilité
  4. Atomicité, concurrence, isolation, durabilité

Answer: C. Toutes les transactions Oracle sont conformes aux propriétés de base d'une transaction de base de données, appelées propriétés ACID. L'atomicité indique que toutes les tâches d'une transaction sont exécutées ou qu'aucune d'entre elles ne l'est. Il n'y a pas de transactions partielles. La cohérence implique que la transaction fait passer la base de données d'un état cohérent à un autre état cohérent. L'isolement signifie que l'effet d'une transaction n'est pas visible pour les autres transactions tant que la transaction n'est pas validée. La durabilité signifie que les modifications apportées par les transactions validées sont permanentes. Une fois la transaction terminée, la base de données garantit, grâce à ses mécanismes de récupération, que les modifications de la transaction ne sont pas perdues.

2. What does the word DML stands for in Oracle SQL?

  1. Langage de gestion de la durabilité
  2. Langage de gestion de base de données
  3. Langage de manipulation de base de données
  4. Aucune de ces réponses

Answer: C. DML signifie Data Manipulation Language.

3. Which of the following are DML commands in Oracle Database?

  1. SELECT
  2. PAR GROUPE
  3. INTERSECT
  4. INSERT

Answer: A, D. Pour des raisons strictes, SELECT est une commande DML car c'est l'une des clauses obligatoires pour la manipulation des données présentes dans les tableaux.

4.Which of the following DML commands can be considered to be a hybrid of INSERT and UPDATE in a single statement?

  1. INTERSECT
  2. INSERT
  3. SELECT
  4. MERGE

Answer: D. MERGE peut effectuer des actions INSERT et UPDATE dans une seule instruction dans Oracle.

5. What all operations can MERGE statement perform in SQL?

  1. INSERT
  2. DELETE
  3. PAR GROUPE
  4. Aucune de ces réponses

Answer: A, B. Dans certaines conditions, MERGE peut également effectuer l'opération DELETE, avec INSERT et UPDATE.

6.Which of following commands is a DDL (Data Definition Language) command but is often considered along with DML commands?

  1. DELETE
  2. INSERT
  3. TRUNCATE
  4. Aucune de ces réponses

Answer: C. TRUNCATE est une commande DDL. Il supprime les enregistrements de la table sans aucune condition. Il ne fait partie d'aucune transaction en cours et une transaction non validée dans la session est validée après l'exécution de TRUNCATE.

7.Which of the following commands manipulate data basically?

  1. MINUS
  2. UPDATE
  3. TRUNCATE
  4. Tout ce qui précède

Answer: B, C. UPDATE est une instruction DML pour modifier une valeur de colonne dans une table. TRUNCATE manipule les données en les supprimant inconditionnellement d'une table.

8. Which of the following commands is used to populate table rows with data?

  1. DELETE
  2. INSERT
  3. SELECT
  4. UPDATE

Answer: B. La commande INSERT est utilisée pour insérer des lignes dans une table.

9. What is true about the INSERT statement? (Choose the most appropriate answer)

  1. Il peut insérer des données dans une ligne d'une table à la fois
  2. Il peut insérer des données dans plusieurs lignes d'une table à la fois
  3. Il peut insérer des données dans plusieurs lignes de plusieurs tables à la fois
  4. Tout ce qui précède

Answer: C. L'instruction INSERT est capable d'insérer une ligne ou un ensemble de lignes dans une seule table à la fois.

10.What is true about the insertion of rows in tables?

  1. Les lignes peuvent être insérées au hasard
  2. N'importe quel nombre de lignes peut être inséré dans une table sans aucune restriction
  3. Généralement, les lignes sont insérées dans une table en fonction de certaines règles appelées contraintes
  4. Tout ce qui précède

Answer: C. Les contraintes sont des règles métier imposées aux colonnes afin d'assurer le comportement des données arrivant dans la colonne. Ces contraintes sont validées pour les données lors du processus INSERT.

11. What is true about the INSERT statement in Oracle SQL? (Choose the most appropriate answer)

  1. Une instruction INSERT peut remplacer toute contrainte mise sur la table
  2. Une instruction INSERT ne peut pas être utilisée sur une table si une contrainte est déjà placée sur la table
  3. Une instruction INSERT ne peut être utilisée sur une table que si une contrainte est déjà placée sur la table
  4. Une instruction INSERT ne peut jamais insérer une ligne qui viole une contrainte.

Answer: D. Oracle lève une exception si l'une des données contenues dans l'instruction d'insertion enfreint la contrainte.

Consider the following data set from the EMPLOYEES table along with its structure and answer the questions 12, 13 and 14:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER (6)
 FIRST_NAME			  VARCHAR2 (20)
 LAST_NAME		 NOT NULL VARCHAR2 (25)
 EMAIL			 NOT NULL VARCHAR2 (25)
 PHONE_NUMBER			  VARCHAR2 (20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2 (10)
 SALARY 			  NUMBER (8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
EMPLOYEE_ID FIRST_NAME   JOB_ID 
------------------- ------------------ --------
5100 	             BRUCE             CLERK
5101 	             JESSICA           SALESMAN
5102 	             DEBBY             SALESMAN

12. Examine the structure of the EMPLOYEES table. You issue the following command:

INSERT INTO EMPLOYEES (employee_id  , first_name , job_id) VALUES (5100, 'BRUCE', 'CLERK');

En supposant qu'il existe une contrainte de vérification de valeur en double sur la colonne EMPLOYEE_ID, quel sera le résultat de l'instruction ci-dessus?

  1. Il insérera une autre ligne avec 5100 valeurs BRUCE CLERK
  2. Il insérera une autre ligne avec 51002 valeurs BRUCE CLERK
  3. Il lancera une erreur ORA `` Contrainte violée ''
  4. Aucune de ces réponses

Answer: C. Comme la ligne avec les valeurs "5100, BRUCE, CLERK" existe déjà dans la table, l'instruction d'insertion avec le même jeu de données n'est pas possible.

13.You issue the following command to the data set shown above:

INSERT INTO EMPLOYEES (employee_id  , first_name , job_id) VALUES (51003,'BRUCE','CLERK');

Quelle sera la sortie de cette déclaration?

  1. Il insérera une nouvelle ligne avec 51003 valeurs BRUCE CLERK
  2. Cela lancera une erreur ORA car il ne peut pas y avoir d'autre BRUCE qui est un CLERK
  3. Il lancera une erreur ORA `` Contrainte violée ''
  4. Aucune de ces réponses

Answer: A. Comme il n'y a pas de contrainte sur les colonnes FIRST_NAME et job_id, l'INSERT fonctionnera sans aucune erreur

14. You issue the following command to the data set shown above:

INSERT INTO EMPLOYEES (employee_id  , first_name , job_id ) VALUES (51003,'BRUCE', NULL);

Quelle sera la sortie de cette déclaration?

  1. Il insérera une nouvelle ligne avec 51003 valeurs BRUCE CLERK
  2. Cela lancera une erreur ORA car il ne peut pas y avoir d'autre BRUCE qui est un CLERK
  3. Il lancera une erreur ORA `` Contrainte violée ''
  4. Il insérera une nouvelle ligne avec 51003 valeurs BRUCE NULL

Answer: D. Comme il n'y a pas de contrainte NOT NULL sur les colonnes FIRST_NAME et JOB_ID, la valeur NULL sera insérée.

15. What among the following can be said regarding inserting of rows in tables?

  1. L'utilisateur ne peut pas insérer de lignes de manière interactive
  2. Une requête peut être écrite avec des variables de substitution pour une insertion interactive de lignes par les utilisateurs
  3. Lorsqu'un utilisateur est invité à insérer des lignes, l'insertion ne fonctionne pas et génère une erreur ORA
  4. Aucune de ces réponses

Answer: B. Une instruction INSERT peut utiliser une variable de substitution pour inviter l'utilisateur à saisir des valeurs pendant l'exécution. Il fournit un moyen interactif d'insérer des données dans des tableaux

16.Which of the following can be used to insert rows in tables?

  1. SELECT
  2. INSERT
  3. Sub-queries
  4. Tout ce qui précède

Answer: D. L'instruction INSERT peut utiliser INSERT explicite, INSERT-SELECT ou une méthode de sous-requête pour insérer des données dans des tables.

17. Which among the following is a common technique for inserting rows into a table? (Choose the most sensible and appropriate answer)

  1. Utilisation de la clause SELECT
  2. Saisir manuellement chaque valeur dans la clause INSERT
  3. Utilisation des opérateurs SET
  4. Aucune de ces réponses

Answer: A. L'utilisation de la clause SELECT est la technique la plus courante pour insérer des lignes dans des tables. Cela réduit l'effort de saisie manuelle des valeurs pour chaque colonne.

18.Which of the following commands is used to change the rows that already exist in a table?

  1. INSERT
  2. UNION
  3. UPDATE
  4. SELECT

Answer: C. UPDATE est une instruction DML utilisée pour modifier les valeurs de colonne dans une table.

19.What is true about the UPDATE command?

  1. Il ne peut mettre à jour qu'une seule ligne à la fois
  2. Il ne peut mettre à jour que 100 lignes à la fois
  3. Il peut mettre à jour un nombre illimité de lignes à la fois en masse
  4. Aucune de ces réponses

Answer: C. Un UPDATE peut mettre à jour plusieurs lignes dans une ou plusieurs lignes à la fois en fonction des conditions de la clause WHERE.

20.Which of the following clauses decides how many rows are to be updated?

  1. SELECT
  2. WHERE
  3. FROM
  4. Tout ce qui précède

Answer: B. L'instruction UPDATE utilise la clause WHERE pour capturer l'ensemble de lignes qui doit être mis à jour.

21.What among the following is true about the UPDATE statement? (Choose the most appropriate answer)

  1. Un UPDATE peut mettre à jour les lignes d'une seule table
  2. Une mise à jour peut mettre à jour les lignes de plusieurs tables
  3. Une seule commande UPDATE ne peut pas affecter les lignes de plusieurs tables
  4. Aucune de ces réponses

Answer: A, C. Une instruction UPDATE affecte les lignes d'une seule table et non de plusieurs tables.

Consider the following data set from the EMPLOYEES table and its structure. Answer questions 22 to 24 that follow.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
EMPLOYEE_ID FIRST_NAME   JOB_ID 
------------------- ------------------ --------
5100 	             BRUCE             CLERK
5101 	             JESSICA           SALESMAN
5102 	             DEBBY             SALESMAN

22. You need to change the JOB_ID for Bruce (Employee Id 7389) to 'ACCOUNTANT'. Which of the following statements will you fire?

  1. UPDATE employees
    SET job_id  = 'ACCOUNTANT'
    WHERE employee_id   = 7389;
  2. INSERT INTO EMPLOYEES (employee_id  , first_name , job_id ) VALUES (5100,'BRUCE', 'ACCOUNTANT');
  3. UPDATE employees
    SET job_id  = 'ACCOUNTANT'
    WHERE job_id  = 'CLERK';
  4. UPDATE employees
    SET job_id  = 'ACCOUNTANT';

Answer: A. L'option B échoue car elle modifie le code de travail de tous les commis en COMPTABLE. L'option C est erronée car elle met à jour le code de travail en COMPTABLE pour tous les employés de la table.

Answer the following questions 23 and 24 based on the below actions -

Vous émettez la requête suivante à la table EMPLOYEES avec l'ensemble de données comme indiqué ci-dessus.

UPDATE employees
Set job_id  = NULL
Where employee_id   = 51000;

L'ensemble de données sera comme indiqué ci-dessous: (Supposons qu'il existe une contrainte de valeur en double sur la colonne EMPLOYEE_ID)

EMPLOYEE_ID FIRST_NAME   JOB_ID 
------------------- ------------------ --------
5100 	             BRUCE             
5101 	             JESSICA           SALESMAN
5102 	             DEBBY             SALESMAN

23. Suppose you fire an UPDATE statement to update Bruce's JOB_ID to 'SALESMAN' (with respect to the data set shown above). What will be the outcome of the query?

  1. Le code de travail de Bruce sera toujours NULL
  2. Le code de travail de Bruce sera modifié en «VENDEUR»
  3. Erreur ORA
  4. Pas d'action

Answer: B. La mise à jour ajoutera la nouvelle valeur à la valeur NULL en changeant la valeur NULL en la nouvelle valeur

24. You issue an UPDATE statement to update the employee id 7389 to 7900. You query the employee by its id '7389' before committing the transaction. What will be the outcome?

  1. La mise à jour fonctionnera avec succès tandis que select affichera 7389.
  2. La mise à jour fonctionnera avec succès tandis que select n'affichera aucun enregistrement.
  3. La contrainte sur EMPLOYEE_ID ne lui permettra pas d'être mis à jour
  4. Il se mettra à jour avec succès mais toutes les valeurs de EMPLOYEE_ID 7389 deviendront NULL.

Answer: B. Une requête dans une session est cohérente avec les transactions en cours. Si la même requête aurait été exécutée dans une session différente, elle aurait montré l'enregistrement d'employé avec l'ID 7389 car la transaction active dans la première session n'est pas encore validée.

25. What among the following is a typical use of an UPDATE statement? (Select the most appropriate answer)

  1. Pour récupérer une ligne et mettre à jour une ou plusieurs colonnes de cette ligne
  2. Pour modifier toutes les lignes de certaines colonnes
  3. Pour modifier toutes les lignes de toutes les colonnes d'un tableau
  4. Aucune de ces réponses

Answer: A. Bien que l'instruction UPDATE puisse modifier toutes les valeurs de colonne dans toutes les lignes, elle est généralement utilisée pour sélectionner une ligne et mettre à jour une ou plusieurs colonnes.

26. Which of the following practices appropriately describe for selecting which row set to update using the UPDATE statement?

  1. Si certaines lignes doivent être mises à jour, la contrainte PRIMARY KEY peut être utilisée
  2. Si toutes les lignes doivent être mises à jour, la clause WHERE peut être considérée
  3. Pour mettre à jour un ensemble de lignes, utilisez WHERE, pour mettre à jour toutes les lignes d'une table, placez une contrainte PRIMARY KEY sur la table
  4. Aucune de ces réponses

Answer: C.

27. Which of the following columns in a table are not usually updated?

  1. Colonnes de type LONG dans le tableau
  2. Colonnes LOB dans le tableau
  3. Une colonne de clé primaire qui sert également de référence de clé étrangère dans une autre table
  4. Tout ce qui précède

Answer: C. Comme pratique courante, les colonnes de clé primaire qui servent de référence de clé étrangère dans d'autres tables ne doivent pas être mises à jour. Bien qu'ils puissent être mis à jour en différant les contraintes, ce qui n'est généralement pas recommandé.

Consider the following data set and structure of the EMPLOYEES table and answer the questions 28 and 29 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
EMPLOYEE_ID FIRST_NAME   JOB_ID 
------------------- ------------------ --------
5100 	             BRUCE             NULL
5101 	             JESSICA           SALESMAN
5102 	             DEBBY             SALESMAN

28. You issue an UPDATE statement as follows:

UPDATE employees 
SET job_id  = NULL;

Quel sera le résultat de la déclaration ci-dessus?

  1. La première ligne de l'ensemble de données sera mise à jour à NULL
  2. La 3ème colonne de la première ligne sera mise à jour à NULL
  3. La 3ème colonne de toutes les lignes sera mise à jour à NULL
  4. Et l'erreur ORA sera lancée

Answer: C. Une instruction UPDATE sans clause WHERE mettra à jour toutes les lignes de la table.

29. You issue an UPDATE statement as follows:

UPDATE employees 
SET employee_id   = NULL;
WHERE job_id  = 'CLERK';

Quel sera le résultat de la déclaration ci-dessus? (Ici, la colonne EMPLOYEE_ID est marquée comme obligatoire en mettant une contrainte)

  1. La première colonne de l'ensemble de données sera mise à jour à NULL
  2. La 3ème colonne de la première ligne sera mise à jour à NULL
  3. La 3ème colonne de toutes les lignes sera mise à jour à NULL
  4. Et l'erreur ORA sera lancée

Answer: D. Les contraintes sur la colonne doivent être respectées lors de la mise à jour de sa valeur. Dans l'instruction UPDATE donnée, une erreur sera générée car la colonne EMPLOYEE_ID est une clé primaire dans la table EMPLOYEES, ce qui signifie qu'elle ne peut pas être NULL.

30. Which of the following commands can be used to remove existing records from a table?

  1. UPDATE
  2. INSERT
  3. MINUS
  4. DELETE

Answer: D. DELETE est utilisé pour supprimer les enregistrements de la table qui peuvent éventuellement être basés sur une condition. Étant une instruction DML, c'est la partie d'une transaction.

31. What among the following is true about the DELETE statement?

  1. L'instruction DELETE doit être accompagnée de la clause WHERE
  2. Il n'est pas obligatoire d'écrire une clause WHERE avec l'instruction DELETE
  3. DELETE peut supprimer des données de plusieurs tables à la fois
  4. Aucune de ces réponses

Answer: B. Le prédicat de clause WHERE est facultatif dans l'instruction DELETE. Si la clause WHERE est omise, toutes les lignes de la table seront supprimées.

32.What among the following happens when we issue a DELETE statement on a table? (Choose the most appropriate answer)

  1. Une invite apparaît demandant à l'utilisateur s'il est sûr de supprimer les lignes demandées
  2. Les lignes obéissant à la condition donnée dans l'instruction DELETE sont supprimées immédiatement
  3. Les lignes demandées sont supprimées immédiatement sans aucune invite.
  4. Aucune de ces réponses

Answer: C. Dans le cadre de la transaction active ou d'une nouvelle transaction, les lignes de la table seront supprimées.

33.Consider the following data set from the EMPLOYEES table and its structure:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
EMPLOYEE_ID FIRST_NAME   JOB_ID 
------------------- ------------------ --------
5100 	             BRUCE             
5101 	             JESSICA           SALESMAN
5102 	             DEBBY             SALESMAN

Vous devez supprimer les données de la colonne JOB_ID dans la ligne avec employee_id 51001. Laquelle des requêtes suivantes sera correcte?

  1. UPDATE employees
    SET job_id  = NULL
    WHERE employee_id   = 51001;
  2. DELETE job_id  FROM employees
    WHERE employee_id   = 51001;
  3. DELETE FROM employees;
  4. Aucune de ces réponses

Answer: D. Vous ne pouvez pas supprimer une valeur de colonne particulière pour une ligne particulière avec l'instruction DELETE. La ligne entière est supprimée en fonction des conditions données. Les valeurs indésirables dans une colonne peuvent être mises à jour à NULL. L'option «A» est proche mais incorrecte dans le contexte de la question.

34. What is the difference between the UPSERT and MERGE statements?

  1. Il n'y a pas de différence
  2. UPSERT est le dernier terme adopté pour la déclaration MERGE, qui est devenue obsolète
  3. UPSERT peut effectuer une opération de suppression que MERGE ne peut pas
  4. MERGE insère, met à jour et supprime, UPSERT ne met à jour et insère que

Answer: D. UPSERT est une déclaration obsolète et MERGE a pris le relais avec de nouvelles capacités.

35. What is the difference between the MERGE command and the commands INSERT, UPDATE and DELETE?

  1. L'instruction MERGE prend plus de temps que chaque opération (INSERT, UPDATE, DELETE) effectuée séparément
  2. MERGE est obsolète après Oracle 10g
  3. MERGE peut effectuer les trois opérations sur une table tandis que INSERT, UPDATE et DELETE effectuent une opération à la fois.
  4. Aucune de ces réponses.

Answer: C. L'instruction MERGE peut incorporer les trois opérations sur une table dans une seule instruction tandis que INSERT, UPDATE et DELETE effectuent une opération à la fois.

36. Which of the following objects can be the data source in a MERGE statement?

  1. Une table seulement
  2. Une sous-requête uniquement
  3. Une table ou une sous-requête
  4. A ou B

Answer: C. MERGE fonctionne bien avec une table ou une sous-requête.

37. What among the following is a TRUNCATE statement equivalent to? (Choose the most suitable answer)

  1. Vers une instruction DELETE
  2. Vers une instruction UPDATE
  3. Une instruction DELETE sans clause WHERE
  4. Aucune de ces réponses

Answer: C. TRUNCATE supprime toutes les lignes en une seule commande.

38.Which of the following situations indicate that a DML operation has taken place?

  1. Lorsque de nouvelles lignes sont ajoutées à une table
  2. Lorsque deux requêtes sont combinées
  3. Quand une table est tronquée
  4. Aucune de ces réponses

Answer: A. Lorsque des lignes existantes dans une table sont insérées, modifiées ou supprimées d'une table, cela se fait via une instruction DML.

39.Which of the following best defines a transaction?

  1. Une transaction se compose d'instructions DDL sur le schéma de base de données
  2. Une transaction consiste en COMMIT ou ROLLBACK dans une session de base de données
  3. Une transaction consiste en un ensemble d'instructions DML ou une instruction DDL ou DCL ou TCL pour former une unité logique de travail dans une session de base de données
  4. Une transaction consiste en une collection d'instructions DML et DDL dans différentes sessions de la base de données

Answer: C. Une transaction de base de données consiste en une ou plusieurs instructions DML pour constituer une modification cohérente des données, ou une instruction DDL ou une commande DCL (GRANT ou REVOKE). Il commence par la première instruction DML et se termine par une commande DCL ou DDL ou TCL (COMMIT ou ROLLBACK). Notez que les commandes DDL et DCL contiennent la fonction de validation automatique.

40. What does a collection of DML statements that form a logical unit work known as?

  1. Propriété ACID
  2. UNION
  3. UNION TOUT
  4. Transaction

Answer: D.

41.What happens when a DML statement in an active transaction encounters an error on execution?

  1. Les transactions complètes sont annulées
  2. Les DML de la transaction sont mutuellement exclusifs et peuvent donc continuer leur exécution
  3. Les autres DML des transactions sont interrompus et attendent que l'erreur soit résolue
  4. Aucune de ces réponses

Answer: A. Si l'une des instructions DML d'une transaction active rencontre une erreur, l'ensemble de la transaction se termine par une restauration.

42.What is true about the keyword VALUES in INSERT statements?

  1. VALUES peut ajouter plusieurs lignes à la fois pendant l'INSERT
  2. VALUES ne peut ajouter que 100 lignes à la fois pendant l'INSERT
  3. VALUES est obligatoire si on utilise le mot-clé INSERT
  4. VALUES n'ajoute qu'une seule ligne à la fois

Answer: D. Le mot clé VALUES est utilisé uniquement lorsque les valeurs de colonne sont explicitement spécifiées dans l'instruction INSERT.

Consider the following statement and the table structure. Answer the questions 43 to 45 that follow:

SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
INSERT INTO departments (department_id , department_name , manager_id, location_id )
VALUES (100, 'Human Resources', 121, 1000);

43. How many rows will be inserted by the above statement?

  1. 0
  2. 2
  3. 3
  4. 1

Answer: D. Lorsque le mot clé VALUES est utilisé, il n'insère qu'une seule ligne à la fois.

44. In which order the values will get inserted with respect to the above INSERT statement?

  1. Location_id, manager_id, department_name, department_id
  2. department_id, department_name, manager_id, location_id
  3. department_id, manager_id, department_name, location_id
  4. department_id, department_name, location_id, manager_id

Answer: B. Si les colonnes sont mentionnées dans la clause INSERT, le mot clé VALUES doit contenir des valeurs dans le même ordre

45. Suppose the above given statement is modified as below:

INSERT INTO departments VALUES (100, 'Human Resources', 121, 1000);

Quel sera le résultat de cette modification? Supposons que la table DEPARTMENTS comporte quatre colonnes à savoir, department_id, DEPARTMENT_NAME, MANAGER_ID et LOCATION_ID.

  1. Il insérera des valeurs dans toutes les colonnes du tableau des départements en supposant que les valeurs de colonne sont fournies dans le même ordre que la colonne du tableau
  2. Cela générera une erreur ORA car les noms de colonne ne sont pas explicitement mentionnés
  3. Cela lancera une erreur ORA car la clause VALUES est mal utilisée dans INSERT
  4. Aucune de ces réponses

Answer: A. L'inclusion des noms de colonne dans l'instruction INSERT est facultative à condition que les valeurs doivent être conformes au nombre et à la séquence des colonnes de la table.

46. What will be the outcome of the below INSERT statement? (Consider the table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , hire_date) VALUES (210,"21-JUN-2013");
  1. Il insérera uniquement le employee_id et la date d'embauche de l'employé, laissant toutes les autres colonnes vides
  2. Il insérera uniquement le employee_id
  3. Cela lancera une erreur ORA
  4. Aucune de ces réponses

Answer: C. La mise en forme littérale de la date contient une erreur. Il doit être placé entre guillemets simples et non entre guillemets doubles.

47.What will be the outcome of the below INSERT statement? (Consider the given table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , first_name) VALUES (210,"Bryan");
  1. Il insérera uniquement le employee_id et le prénom de Bryan, laissant toutes les autres colonnes vides
  2. Il insérera uniquement le prénom
  3. Cela lancera une erreur ORA
  4. Aucune de ces réponses

Answer: C. La mise en forme du littéral de chaîne contient une erreur. Il doit être placé entre guillemets simples et non entre guillemets doubles.

48. Suppose you need to insert the name O'Callaghan as the last name of the employees table. Which of the following queries will give you the required results? (Consider the given table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
  1. INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O'callahan');
  2. INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O"callahan');
  3. INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O' 'Callahan');
  4. INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,"O'callahan");

Answer: C.

49. What will be the outcome of the below INSERT statement? (Consider the given table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , first_name) VALUES ("210",'Bryan');
  1. Cela lancera une erreur de valeur numérique
  2. Il insérera uniquement le employee_id et le prénom de Bryan, laissant toutes les autres colonnes comme NULL
  3. Il insérera uniquement le employee_id
  4. Aucune de ces réponses

Answer: A. Les valeurs numériques ne doivent pas être placées entre guillemets.

50. What will be the outcome of the below INSERT statement? (Consider the given table structure)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT INTO departments VALUES (200,'Accounts', NULL, NULL);
  1. Cela lancera une erreur ORA
  2. Il s'exécutera avec succès mais avec des valeurs incorrectes, il se peut que les colonnes soient insérées
  3. Il s'exécutera avec succès
  4. Aucune de ces réponses

Answer: C. Les valeurs NULL peuvent être utilisées dans la clause VALUES pour remplir les valeurs de colonne alternativement.

51. What will be the outcome of the below INSERT statement? (Assume there is a NOT NULL constraint on the department_id column and consider the table structure given)

SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
INSERT INTO departments VALUES (NULL, 'Accounts', NULL);
  1. Cela lancera une erreur ORA
  2. Il s'exécutera avec succès mais avec des résultats erronés
  3. Il s'exécutera avec succès mais avec des résultats corrects
  4. Aucune de ces réponses

Answer: A. Les valeurs NULL ne peuvent pas être insérées dans des colonnes non nulles.

52. What will be the outcome of the below INSERT statement? (Assume there is a NOT NULL constraint on the department_id column and consider the given table structure)

SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
INSERT INTO departments VALUES (200, 34, NULL);
  1. Il s'exécutera avec succès mais avec des résultats erronés
  2. Cela lancera une erreur ORA
  3. Il s'exécutera avec succès mais avec des résultats corrects
  4. Aucune de ces réponses

Answer: B. Le type de données de la valeur ne correspond pas au type de données de la colonne de la table.

53. Which of the following commands is used to save the changed data in a table permanently?

  1. ROLLBACK
  2. COMMIT
  3. INSERT
  4. UPDATE

Answer: B. La commande TCL COMMIT est utilisée pour terminer la transaction active en cours dans une session en rendant toutes les modifications de données en attente permanentes dans les tables.

54. Which of the following commands allows undoing the changed data?

  1. ROLLBACK
  2. COMMIT
  3. INSERT
  4. UPDATE

Answer: A. La commande TCL ROLLBACK est utilisée pour terminer la transaction active en cours dans une session en rejetant toutes les modifications de données en attente.

55. Which of the following commands allows enabling markers in an active transaction?

  1. ROLLBACK
  2. COMMIT
  3. SAVEPOINT
  4. Aucune de ces réponses

Answer: C. SAVEPOINT marque un point dans une transaction qui divise la transaction en sections plus petites.

56. Which of the following commands prevents other users from making changes to a table?

  1. ROLLBACK
  2. COMMIT
  3. TABLEAU DE VERROUILLAGE
  4. SAVEPOINT

Answer: C.

57. What is true about an INSERT statement which tries to insert values into a virtual column? (Choose the most appropriate answer)

  1. Il ne peut pas insérer de valeurs dans la colonne virtuelle
  2. Il peut insérer des valeurs
  3. Il jette une erreur ORA
  4. Tout ce qui précède

Answer: A. Une colonne virtuelle est une colonne qui est toujours générée automatiquement en fonction de l'expression de dérivation définie dans la spécification de colonne. Sa valeur ne peut pas être explicitement insérée par l'utilisateur.

58.Which of the following commands allows the user to insert multiple rows with a single statement?

  1. INSERT
  2. INSÉRER TOUT
  3. UNION TOUT
  4. Aucune de ces réponses

Answer: B. Les opérations d'insertion en bloc peuvent être effectuées à l'aide de INSERT ALL.

59. Which of the following is the syntax for inserting rows through a sub-query?

  1. INSERT INTO tablename [{column_name,..}]
    subquery;
  2. INSERT INTO tablename  VALUES [{column_name,..}]
    subquery;
  3. Les deux, A et B
  4. Aucune de ces réponses

Answer: A.

Consider the following exhibit of the EMPLOYEES table and answer the questions 60 to 63 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)

60. Which of the following queries will execute successfully?

  1. UPDATE employees
    SET salary = salary + 1000
    WHERE to_char (hire_date, 'YYYY') > '2006';
  2. UPDATE employees
    SET salary = salary + 1000
    WHERE to_date (hire_date, 'YYYY') > '2006';
  3. UPDATE employees
    SET salary = salary + 1000
    WHERE hire_date > to_date (substr ('01-jan-200',8));
  4. UPDATE employees
    SET salary = salary + 1000
    WHERE hire_date in (to_date ('JUN 01 11', to_date ('JUL 01  11'));

Answer: A.

61.Due to structural reorganization in the organization, you are asked to update department IDs for all the employees to NULL before the final decision is made public. Only those records should be updated which have the JOB_ID as NULL. Which of the following queries will work?

  1. UPDATE employees
    SET department_id  = NULL
    Where job_id  = NULL;
  2. UPDATE employees
    SET department_id  = NULL
    Where job_id  = TO_NUMBER(NULL);
  3. UPDATE employees
    SET department_id  = NULL
    Where job_id  IS NULL;
  4. UPDATE employees
    SET department_id  = TO_NUMBER (' ', 9999)
    Where job_id  = TO_NUMBER(NULL);

Answer: C. Utilisez l'opérateur IS NULL pour vérifier la valeur de colonne pour la nullité.

62.You need to add a basic employee data into EMPLOYEES table. The basic data contains the last name as 'Bond' and department ID as 300. Which of the following statements will give the correct results?

  1. INSERT INTO employees (employee_id , last_name, department_id ) 
    (100,'Bond',
    (select department_id  from departments where department_id  = 300));
  2. INSERT INTO employees (employee_id , last_name, department_id ) 
    VALUES (100,'Bond',
    (select department_id  from departments where department_id  = 300));
  3. INSERT INTO employees (employee_id , last_name, department_id ) 
    VALUES ('100','Bond',300);
  4. Aucune de ces réponses

Answer: B, C. Les sous-requêtes fonctionnent dans les instructions INSERT à condition qu'elles renvoient une valeur scalaire de type de données correspondant ou compatible avec la colonne pour laquelle elles sont utilisées.

63. You fire the following query:

DELETE FROM EMPLOYEES;

En supposant qu'il n'y ait aucune transaction active sur la table EMPLOYEES dans aucune session, laquelle des affirmations suivantes est vraie?

  1. Il supprime toutes les lignes et la structure du tableau
  2. Il supprime toutes les lignes qui peuvent être annulées
  3. Il supprime toutes les lignes de façon permanente
  4. Aucune de ces réponses

Answer: B. Étant une instruction DML, les modifications de données dues à l'opération DELETE sont rendues permanentes uniquement après l'émission de COMMIT dans la session.

64.Consider the structure of the COUNTRY table as shown:

SQL> desc countries
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 COUNTRY_ID		 NOT NULL CHAR(2)
 COUNTRY_NAME			  VARCHAR2(40)
 REGION_ID			  NUMBER

Vous émettez les instructions suivantes dans une session.

INSERT INTO COUNTRIES (1, 'Whales')
/
INSERT INTO COUNTRIES (2, 'England')
/
SAVEPOINT A;
UPDATE COUNTRIES
SET country_id= 100 where country_id= 1
/
SAVEPOINT B; 
DELETE FROM COUNTRIES where country_id= 2
/
COMMIT
/
DELETE FROM COUNTRIES where country_id= 100
/

Que se passe-t-il lorsqu'une commande ROLLBACK TO SAVEPOINT est émise pour la session utilisateur?

  1. La restauration génère une erreur
  2. Seules les instructions DELETE sont annulées
  3. Aucune instruction SQL n'est annulée
  4. Aucune de ces réponses

Answer: A, C. Comme il y a deux points de sauvegarde - A et B, et que la commande ROLLBACK spécifie la marque de point de sauvegarde réelle, Oracle génère une erreur.

65.If a user issues a DML command and exits the SQL Developer abruptly without a COMMIT or ROLLBACK, what will be the outcome? (Assume the session is not auto commit)

  1. COMMIT automatique
  2. ROLLBACK automatique
  3. Peut-être un COMMIT ou un ROLLBACK pour terminer la transaction
  4. Aucune de ces réponses

Answer: B. Lorsque la transaction est interrompue par une défaillance du système, l'intégralité de la transaction est automatiquement annulée.

66. Which of the following commands / statements would end a transaction?

  1. COMMIT
  2. SELECT
  3. SAVEPOINT
  4. CREATE

Answer: A, D. Outre les commandes TCL, c'est-à-dire COMMIT ou ROLLBACK, les commandes DDL et DCL possèdent une fonction de validation automatique. La transaction active sera validée si l'instruction DDL est exécutée dans la même session.

67.When does a transaction complete?

  1. Lorsqu'un ROLLBACK est exécuté
  2. Lorsqu'un COMMIT est exécuté
  3. Lorsque TRUNCATE est exécuté
  4. Tout ce qui précède

Answer: D. La transaction se termine si une commande TCL, DCL ou DDL est exécutée dans la session.

68. Examine the given table structures and consider the following query:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
INSERT INTO EMPLOYEES (department_id ) VALUES
(select department_id  FROM departments);

Quel sera le résultat de la requête ci-dessus?

  1. Les colonnes de la table EMPLOYEES et de la table department ne correspondent pas
  2. La clause WHERE est obligatoire pour être utilisée dans une sous-requête
  3. Le mot clé VALUES ne peut pas être utilisé avec la clause INSERT lorsque des sous-requêtes sont utilisées
  4. Aucune de ces réponses

Answer: C. Mauvaise utilisation du mot clé VALUES. Il ne doit être utilisé que lorsque vous avez des données de colonne en main, qui doivent être insérées dans le tableau.

69.Examine the given table structure and consider the following query:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
UPDATE (select employee_id , job_id  from employees)
SET hire_date = '01-JAN-13'
WHERE employee_id  = (select employee_id  FROM job_history);

Laquelle des affirmations suivantes est vraie concernant la requête donnée?

  1. Il ne s'exécuterait pas car nous ne pouvons pas utiliser deux tables dans une seule instruction de mise à jour
  2. Il ne s'exécuterait pas car UPDATE ne peut pas utiliser une sous-requête
  3. Il s'exécuterait avec les restrictions sur la colonne spécifiée
  4. Il ne s'exécuterait pas car la sous-requête est utilisée dans la clause WHERE

Answer: C.

70.What happens when a transaction is committed?

  1. Les modifications apportées lors de la transaction sont enregistrées pour une session utilisateur particulière
  2. Les modifications apportées lors de la transaction sont ignorées
  3. Si la transaction est un DDL, la validation ne fonctionne pas
  4. Aucune de ces réponses

Answer: D. La validation d'une transaction enregistre les modifications de données en attente de manière permanente dans la base de données.

71. Which of the following reasons will the best one on the usage of string?

  1. Utilisation de sous-requêtes
  2. Erreurs de syntaxe
  3. Droits d'accès
  4. Violations de contraintes

Answer: C, B, D. Références à des objets / colonnes non existants, les problèmes d'espace peuvent être d'autres raisons.

72. What happens when an INSERT statement tries to insert records in an old table?

  1. Toutes les colonnes auront des valeurs NULL
  2. Une nouvelle table avec le même nom serait créée automatiquement et les valeurs seraient insérées
  3. INSERT ne peut pas fonctionner et génère une erreur ORA
  4. Aucune de ces réponses

Answer: C.

73. A user named 'Jonathan Adams' is able to SELECT columns from the EMPLOYEES table but he is unable to insert records into EMPLOYEES. What can be the reason?

  1. Jonathan est connecté à une base de données qui ne prend pas en charge les instructions INSERT
  2. L'instruction INSERT ne peut pas être appliquée sur la table EMPLOYEES
  3. Jonathan a accès à SELECT mais pas d'accès à INSERT INTO the table EMPLOYEES
  4. Aucune de ces réponses

Answer: C. Les utilisateurs peuvent profiter d'un accès aux tables en fonction de leurs responsabilités. On ne peut avoir qu'un accès en lecture sur une table tandis que d'autres peuvent profiter d'un accès en lecture et en écriture.

74. Suppose 1 million rows are to be inserted into the AUDIT table. An INSERT transaction runs successfully for the first 1000 rows and an ORA error is thrown 'Constraint violated'. What will happen to the values inserted in the first 1000 rows?

  1. Ils resteront tels quels
  2. Ils seront tous supprimés
  3. Ils seront tous annulés
  4. Aucune de ces réponses

Answer: C. Si l'une des instructions DML lors de la transaction rencontre des erreurs, la transaction complète sera annulée.

Examine the table structure and consider the following query and answer the questions 75, 76 and 77 that follow:

SQL> DESC departments
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 DEPARTMENT_ID		 NOT NULL NUMBER(4)
 DEPARTMENT_NAME	 NOT NULL VARCHAR2(30)
 MANAGER_ID			  NUMBER(6)
 LOCATION_ID			  NUMBER(4)
INSERT INTO departments values (15, NULL);

75. What will be the outcome of this statement?

  1. Il insérera une ligne avec department_id = 15 et toutes les autres valeurs comme NULL
  2. Il s'exécutera avec succès mais insérera 0 ligne dans le tableau
  3. Il lancera une erreur ORA comme non. des colonnes et des valeurs ne correspondent pas
  4. Aucune de ces réponses

Answer: C. La table DEPARTMENTS contient quatre colonnes mais l'instruction INSERT fournit une valeur pour deux colonnes uniquement sans mentionner les colonnes. Par conséquent, l'erreur ORA est générée.

76. What is true about the above INSERT statement?

  1. Si les colonnes ne sont pas mentionnées dans l'instruction INSERT, les valeurs sont insérées en position dans les colonnes
  2. Il est obligatoire de mentionner les colonnes après l'instruction INSERT
  3. Les deux, A et B
  4. Aucune de ces réponses

Answer: A. Si les colonnes ne sont pas spécifiées dans l'instruction INSERT, Oracle mappe séquentiellement et positionnellement chaque valeur à la colonne de la table.

77. With respect to the statement given above, what will happen if the table is altered to add a new column?

  1. La déclaration fonctionnera toujours
  2. L'exécution de l'instruction générera une erreur car il y aura une incompatibilité dans le no. de colonnes et de valeurs
  3. Il n'y aura pas de changement et l'instruction s'exécutera comme avant
  4. Aucune de ces réponses

Answer: B. Étant donné que les colonnes n'ont pas été spécifiées précédemment, le problème existera toujours. Une incompatibilité dans le mappage colonne-valeur générerait une erreur ORA.

Examine the table structure given below and consider the following queries and answer the questions 78 and 79 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
Query 1:
INSERT INTO employees (employee_id , last_name, hire_date)
VALUES (100, 'ADAMS','21-DEC-12');
Query 2:
INSERT INTO employees (employee_id , last_name, hire_date)
VALUES (100, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY'));

78. Which of the above two queries is better?

  1. Les deux sont meilleurs
  2. Seule la requête 1 est meilleure
  3. Seule la requête 2 est meilleure
  4. Aucune des requêtes n'est correcte

Answer: C. La requête-2 est meilleure car elle insère la valeur de la date en tant que date et non en tant que chaîne. Bien qu'Oracle effectue une conversion implicite de la chaîne littérale spécifiée comme une date, mais ce n'est pas recommandé.

79. Which of the following queries is equivalent of the query 2 given above?

  1. INSERT INTO employees (employee_id , last_name, hire_date)
    VALUES (101-1, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY'));
  2. INSERT INTO employees (employee_id , last_name, hire_date)
    VALUES (99+1, upper('ADAMS'),to_date('22-DEC-12','DD-MON-YY') +1 );
  3. INSERT INTO employees (employee_id , last_name, hire_date)
    VALUES (100, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY') - 1);
  4. INSERT INTO employees (employee_id , last_name, hire_date)
    VALUES (100, upper('ADAMS'),to_date('28-DEC-12','DD-MON-YY')-7 );

Answer: A, C, D. Les opérations / fonctions arithmétiques peuvent être utilisées pour insérer des valeurs comme indiqué ci-dessus.

80. You need to copy the data from one table to another table. Which of the following methods can be used?

  1. Vous pouvez utiliser la commande COPY
  2. Vous pouvez utiliser la commande INSERT
  3. Vous pouvez utiliser la commande UPDATE
  4. Aucune de ces réponses

Answer: B. Les opérations de chemin direct INSERT-AS-SELECT (IAS) sont la méthode la plus couramment utilisée pour copier des données d'une table à une autre.

81.Which of the following statements will copy data from the JOB_HISTORY table to the JOB_HISTORY_ARCHIVE table? (Consider the table structure as given)

SQL> desc job_history
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 START_DATE		 NOT NULL DATE
 END_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 DEPARTMENT_ID			  NUMBER(4)
  1. INSERT INTO job_history values (select * from job_history);
  2. INSERT INTO JOB_HISTORY_ARCHIVE values (select * from job_history_archive);
  3. INSERT INTO JOB_HISTORY_ARCHIVE select * from job_history;
  4. Aucune de ces réponses

Answer: C. L'option 'C' montre correctement l'utilisation de la méthode IAS (INSERT-AS-SELECT).

Examine the given table structure. Consider the following query and answer the questions 82 and 83 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT ALL
WHEN job_id   = 'SA_REP' then
INTO employees (employee_id , department_id , salary, hire_date)
VALUES (employee_id , 10, salary, hire_date)
WHEN job_id  <> 'SA_REP' then
INTO employees (employee_id , department_id  , salary, hire_date)
VALUES (employee_id , 20, salary, hire_date)
SELECT employee_id , department_id , job_id, salary, commission_pct , hire_date
FROM employees
WHERE hire_date > sysdate - 30;

82. Interpret the output of the above INSERT statement.

  1. Jeté une erreur
  2. Il insérera les enregistrements de tous les employés qui ont été embauchés un mois avant le sysdate.
  3. Il insérera les enregistrements de tous les employés qui sont des représentants des ventes dans le département 10
  4. Aucune de ces réponses

Answer: B, C. INSERT ALL peut effectuer des insertions conditionnelles dans les tables cibles.

83. Which employees' data will be inserted in the department 20?

  1. Représentants des ventes
  2. Accountants
  3. A ou B
  4. Aucune de ces réponses

Answer: B. Selon l'instruction INSERT ALL, les détails des employés dont le job_id n'est pas «Sales Representative».

84. What will be the outcome of the below query? (Consider the table structure as given)

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
INSERT INTO employees (employee_id , salary) VALUES (&employee_id , &salary);
COMMIT;
  1. Erreur de syntaxe car les variables de substitution ne peuvent pas être utilisées dans les instructions DML
  2. L'utilisateur sera invité à entrer l'ID de l'employé et le salaire, mais les variables de substitution ne peuvent pas insérer de données dans le tableau
  3. L'utilisateur sera invité à entrer l'ID de l'employé et le salaire et l'enregistrement seront créés avec succès dans le tableau EMPLOYEES
  4. Aucune de ces réponses

Answer: C. Les variables de substitution fonctionnent bien avec les instructions DML.

85. Evaluate the following SQL statements that are executed in a user session in the specified order:

CREATE SEQUENCE id_seq;
SELECT id_seq.nextval
FROM dual;
 
INSERT INTO employees (employee_id ,first_name,job_id )
VALUES (ord_seq.CURRVAL, 'Steyn','Trainee');
 
UPDATE employees
SET employee_id = id_seq.NEXTVAL
WHERE first_name = 'Steyn'
AND job_id ='Trainee';

Quel serait le résultat des déclarations ci-dessus?

  1. La commande CREATE SEQUENCE générerait une erreur car les valeurs minimale et maximale de la séquence n'ont pas été spécifiées
  2. Toutes les instructions s'exécuteraient avec succès et la colonne employee_id contiendrait la valeur 2 pour l'employé STEYN.
  3. La commande CREATE SEQUENCE ne s'exécuterait pas car la valeur de départ de la séquence et la valeur d'incrémentation n'ont pas été spécifiées.
  4. Toutes les instructions s'exécuteraient avec succès et la colonne employee_id aurait la valeur 20 pour l'employé STEYN car la valeur par défaut CACHE est 20.

Answer: B.

86. What is the restriction on the sub-query used in the UPDATE statement?

  1. La sous-requête doit être une sous-requête à plusieurs lignes
  2. La sous-requête doit être une sous-requête à une seule ligne
  3. Il n'y a aucune restriction
  4. La sous-requête peut être une seule ligne ou une sous-requête à plusieurs lignes

Answer: B. La sous-requête ne doit pas renvoyer plusieurs lignes lorsqu'elle est utilisée dans une instruction UPDATE

Examine the given table structure and consider the query given below and answer the questions 87 and 88 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
UPDATE employees
SET salary = (SELECT salary FROM employees WHERE employee_id =7382);

87. What will be the outcome of the above query?

  1. Il jette une erreur ORA lors de l'exécution
  2. Le salaire de tous les employés sera mis à jour avec le même salaire que l'employé 7382
  3. Le salaire de tous les employés sera mis à jour à NULL
  4. Aucune de ces réponses

Answer: B. Les résultats de la requête peuvent être utilisés pour mettre à jour les valeurs de colonne dans une table.

88. Suppose if the employee 7382 doesn't exist in the EMPLOYEES table. What will be the outcome of the query?

  1. Il génère une erreur ORA lors de l'exécution car les résultats de la requête ne peuvent pas être mis à jour dans les colonnes
  2. Le salaire de tous les employés sera mis à jour à NULL
  3. L'exception ORA 'NO_DATA_FOUND' sera déclenchée car l'employé 7382 n'existe pas
  4. Aucune de ces réponses

Answer: B. Les instructions UPDATE ne déclenchent aucune exception, à l'exception des erreurs de syntaxe.

Examine the given table structure and consider the query given below and answer the questions 89 and 90 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
UPDATE employees
set salary = (select salary from employees where last_name = 'Adams');

89. What will be the outcome of the query?

  1. Il s'exécute avec succès
  2. Toutes les lignes du tableau ont le même salaire
  3. Il peut générer une erreur ORA 'TOO_MANY_ROWS' lors de l'exécution
  4. Aucune de ces réponses

Answer: C. La sous-requête peut renvoyer plusieurs lignes provoquant une erreur.

90. What changes in the above query will make sure there are no errors caused?

  1. Utilisez une fonction sur une seule ligne telle que MAX, MIN ou AVG pour réduire les résultats sur plusieurs lignes en un résultat scalaire
  2. Ajout d'une contrainte de clé primaire sur la colonne SALAIRE
  3. Aucun changement requis
  4. Aucune de ces réponses

Answer: A.

Examine the given table structure and consider the following query and answer the questions 91 and 92 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
UPDATE employees
SET salary = (select max (salary) from employees where last_name = 'Adams');

91. What will be the outcome of the query given above?

  1. Il mettra à jour les salaires de tous les employés égaux au salaire de l'employé nommé Adam
  2. Il mettra à jour les salaires de tous les employés égaux au salaire moyen de tous avec le nom de famille comme 'Adam'
  3. Il mettra à jour 0 lignes
  4. Il ne mettra à jour qu'une seule ligne

Answer: B. Les fonctions arithmétiques MAX ou MIN peuvent être utilisées avec des sous-requêtes pour obtenir des valeurs scalaires et éviter les erreurs.

92. Assume that the sub-query above is replaced with the following:

SELECT distinct salary from employees where last_name = 'Adam';

Quel sera le résultat de la requête principale donnée ci-dessus?

  1. Il s'exécutera avec succès en donnant des résultats incorrects
  2. Il s'exécutera avec succès en donnant des résultats corrects
  3. Cela lancera une erreur ORA
  4. Aucune de ces réponses

Answer: C. cela donne une erreur car comme il y en a beaucoup avec le nom de famille comme «Adam», il y aura de nombreux salaires distincts.

Examine the given table structure and consider the following query and answer the questions 93 and 94 that follow:

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
UPDATE employees
SET salary = 50000;
WHERE job_id  in (select job_id  from job_history where department_id  = 10);

93. What will the above statement do? (Choose the most appropriate answer)

  1. Il mettra à jour tous les salaires de tous les employés en tant que 50000
  2. Il mettra à jour tous les salaires de tous les employés du département 10
  3. Il mettra à jour les salaires de tous les employés qui ont l'un des ID d'emploi similaires à ceux du département 10
  4. Aucune de ces réponses

Answer: C.

94. What will happen if the WHERE clause given above is replaced with the following?

WHERE job_id = (select job_id from job_history where department_id  = 10);
  1. Il s'exécutera avec succès avec des résultats incorrects
  2. Il s'exécutera avec succès avec des résultats corrects
  3. Cela lancera une erreur ORA
  4. Aucune de ces réponses

Answer: C. Le signe égal augmentera l'erreur.

Examine the given table structure and consider the following statement. Answer the questions 95 to 97 that follow.

SQL> DESC employees
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 EMPLOYEE_ID		 NOT NULL NUMBER(6)
 FIRST_NAME			  VARCHAR2(20)
 LAST_NAME		 NOT NULL VARCHAR2(25)
 EMAIL			 NOT NULL VARCHAR2(25)
 PHONE_NUMBER			  VARCHAR2(20)
 HIRE_DATE		 NOT NULL DATE
 JOB_ID 		 NOT NULL VARCHAR2(10)
 SALARY 			  NUMBER(8,2)
 COMMISSION_PCT 		  NUMBER(2,2)
 MANAGER_ID			  NUMBER(6)
 DEPARTMENT_ID			  NUMBER(4)
DELETE FROM employees where last_name = 'A%';
COMMIT;

95. What will be the outcome of the query given above?

  1. S'exécute avec succès mais aucune ligne n'est supprimée
  2. Tous les employés dont le nom commence par "A" seront supprimés
  3. Erreur ORA car l'instruction DELETE ne peut pas avoir le prédicat WHERE
  4. Toutes les lignes de la table des employés seront supprimées

Answer: A. L'instruction DELETE peut avoir un prédicat de clause WHERE. En fonction des conditions, les enregistrements seront supprimés de la table.

96. Consider the following statement:

DELETE FROM employees where employee_id  IS NULL and job_id = NULL;
COMMIT;

En supposant qu'il existe une contrainte NOT NULL sur la colonne employee_id, quel sera le résultat de la requête ci-dessus?

  1. Cela générera une erreur ORA en raison de prédicats WHERE invalides
  2. Il s'exécutera avec succès et aucune ligne ne sera supprimée
  3. Cela générera une erreur ORA car plusieurs prédicats ne peuvent pas fonctionner dans les instructions DELETE
  4. Aucune de ces réponses

Answer: B. Plusieurs prédicats peuvent être appliqués aux instructions DML UPDATE et DELETE.

97. Consider the following query:

DELETE FROM employees where department_id  = &deptID;
COMMIT;

Que se passera-t-il lorsque l'instruction ci-dessus sera exécutée?

  1. Cela générera une erreur car les instructions DML ne peuvent pas utiliser de variables de substitution
  2. Il demandera que l'ID de service soit supprimé de l'utilisateur et supprimera l'enregistrement avec l'ID de service donné
  3. Il vous demandera l'ID de service mais la transaction ne peut pas être validée
  4. Aucune de ces réponses

Answer: B. Les variables de substitution peuvent être utilisées avec les instructions DML.

98. All parts of a transaction should complete or none of them. Which property of ACID rule complies with the given statement?

  1. Atomicity
  2. Consistency
  3. Isolation
  4. Durability

Answer: A. ACID fait référence aux propriétés de base d'une transaction de base de données: atomicité, cohérence, isolation et durabilité. L'atomicité implique que toute la séquence d'actions doit être soit terminée, soit abandonnée. La cohérence implique que la transaction fait passer les ressources d'un état cohérent à un autre. L'isolement implique que l'effet d'une transaction n'est pas visible pour les autres transactions tant que la transaction n'est pas validée. La durabilité implique que les modifications apportées par la transaction validée sont permanentes et doivent survivre à une défaillance du système.

99. What does the principle of Durability in the ACID property state?

  1. Il déclare qu'une base de données peut perdre des transactions terminées
  2. Il indique qu'une transaction ne peut pas être complétée
  3. Il stipule qu'une fois qu'une transaction est terminée, il doit être impossible pour le DB de la perdre.
  4. Aucune de ces réponses

Answer: C.

100. An incomplete transaction should be invisible to all the other users. Which of the properties of the ACID state this?

  1. Isolation
  2. Consistency
  3. Atomicity
  4. Durability

Answer: A. «I» signifie Isolation.

101. What does the principle of consistency states?

  1. Il indique que les résultats d'une requête doivent être cohérents avec l'état de la base de données au moment du démarrage de la requête
  2. Il stipule qu'une transaction incomplète doit être invisible pour tous les autres utilisateurs
  3. Il stipule qu'une fois qu'une transaction est terminée, il doit être impossible pour le DB de la perdre
  4. Aucune de ces réponses

Answer: A. le "C" dans la propriété ACID signifie cohérence

102. What among the following best describes a Transaction?

  1. INSERT pour COMMIT / ROLLBACK
  2. MISE À JOUR pour COMMIT / ROLLBACK
  3. DELETE pour COMMIT / ROLLBACK
  4. INSERT / UPDATE / DELETE pour COMMIT / ROLLBACK

Answer: D.

103. A user named "Jonathan" inserts data in the table EMPLOYEES. When will the other users be able to see the new data?

  1. Lorsque Jonathan donne l'autorisation d'accès aux utilisateurs
  2. Lorsque Jonathan exécute une instruction ROLLBACK dans la session
  3. Lorsque Jonathan exécute une instruction COMMIT dans la même session
  4. Lorsque Jonathan ouvre une nouvelle session et émet un COMMIT

Answer: C. La transaction active doit être validée dans la même session.

104. What can be said about the nesting of transactions?

  1. Maximum 2 niveaux d'imbrication sont possibles
  2. 255 niveaux d'imbrication maximum sont possibles
  3. L'imbrication d'une transaction est impossible
  4. Un seul niveau d'imbrication est possible

Answer: C.

105. Which of the following reasons will terminate a transaction?

  1. Une instruction DDL
  2. Quitter un client
  3. Le système plante
  4. Tout ce qui précède

Answer: D. DDL est une validation automatique et mettra fin à la transaction active en cours.