Académique Documents
Professionnel Documents
Culture Documents
Question 1
Réalisez une fonction en langage pl/sql
CREATE OR REPLACE FUNCTION Qtable(PC$Table IN VARCHAR2, PC$ClauseWhere IN VARCHAR2)
RETURN INTEGER IS
LN$Total INTEGER;
BEGIN
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || PC$Table || ' WHERE ' || PC$ClauseWhere
INTO LN$Total;
RETURN LN$Total;
EXCEPTION
WHEN OTHERS THEN
RETURN 0; -- Gestion des erreurs, retourne 0 en cas de problème
END;
Exemple d’utilisation
DECLARE
LN$Total INTEGER;
BEGIN
LN$Total := Qtable('MaTable', 'MonChamp = ''valeur''');
DBMS_OUTPUT.PUT_LINE('Nombre d''occurrences : ' || LN$Total);
END;
Question 2
la procédure insert_into_table en utilisant le package DBMS_SQL :
CREATE OR REPLACE PROCEDURE insert_into_table (table_name VARCHAR2,
deptnumber NUMBER, deptname VARCHAR2, location VARCHAR2) IS stmt
VARCHAR2(200); cur INTEGER; rows_inserted INTEGER; BEGIN stmt := 'INSERT INTO '
|| table_name || ' values (:deptno, :dname, :loc)';
cur := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur, stmt, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE(cur, ':deptno', deptnumber);
DBMS_SQL.BIND_VARIABLE(cur, ':dname', deptname);
DBMS_SQL.BIND_VARIABLE(cur, ':loc', location);
rows_inserted := DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
IF rows_inserted = 1 THEN DBMS_OUTPUT.PUT_LINE('1 row inserted successfully.');
ELSE DBMS_OUTPUT.PUT_LINE('No rows inserted or more than 1 row inserted.'); END
IF;
EXCEPTION WHEN OTHERS THEN DBMS_SQL.CLOSE_CURSOR(cur); RAISE; END;
Question3
Le NDS (Nested Database Subquery) et le package DBMS_SQL sont deux fonctionnalités
différentes qui peuvent être utilisées dans le contexte d'un système de gestion de base de
données (DBMS). Voici les avantages et les inconvénients de chacun par rapport à l'autre :
En fin de compte, le choix entre le NDS et le package DBMS_SQL dépend des besoins
spécifiques de votre application et du compromis entre simplicité et flexibilité/contrôle.
Question 4
Définissez « OFA », son objectif et ses avantages
Question6
Le schéma ci-dessous décrit une architecture web 3 tiers utilisant Oracle
comme base de données. Voici les vulnérabilités potentielles associées à ce
système :
Il est important de noter que cette liste de vulnérabilités est basée sur des
hypothèses générales et qu'il est nécessaire d'effectuer une évaluation de la
sécurité spécifique à votre système en tenant compte des versions exactes
des logiciels utilisés, des configurations et des meilleures pratiques de
sécurité.