La depuració de codi és una habilitat essencial per a qualsevol programador. En aquest tema, aprendrem com depurar codi PL/SQL de manera eficient, identificant i corregint errors per assegurar que el nostre codi funcioni correctament.

Objectius

  • Comprendre la importància de la depuració de codi.
  • Aprendre a utilitzar les eines de depuració disponibles.
  • Identificar i corregir errors comuns en PL/SQL.
  • Utilitzar tècniques de depuració per millorar la qualitat del codi.

  1. Importància de la Depuració de Codi

La depuració de codi és crucial per:

  • Identificar errors: Trobar i corregir errors en el codi.
  • Millorar el rendiment: Optimitzar el codi per a un millor rendiment.
  • Assegurar la qualitat: Garantir que el codi compleixi amb els requisits funcionals i no funcionals.

  1. Eines de Depuració

2.1. DBMS_OUTPUT

El paquet DBMS_OUTPUT permet enviar missatges de depuració a la consola. És útil per a la depuració bàsica.

Exemple:

BEGIN
    DBMS_OUTPUT.PUT_LINE('Iniciant el procés...');
    -- Codi PL/SQL
    DBMS_OUTPUT.PUT_LINE('Procés completat.');
END;
/

2.2. DBMS_DEBUG

El paquet DBMS_DEBUG proporciona funcionalitats avançades de depuració, com ara punts de ruptura i seguiment de l'execució.

2.3. Oracle SQL Developer

Oracle SQL Developer és una eina gràfica que ofereix funcionalitats de depuració, com ara punts de ruptura, seguiment de variables i execució pas a pas.

  1. Identificació i Correcció d'Errors

3.1. Errors de Sintaxi

Els errors de sintaxi són fàcils d'identificar perquè Oracle els reporta immediatament.

Exemple:

BEGIN
    DBMS_OUTPUT.PUT_LINE('Hola Món')
END;
/

Error: Falta el punt i coma després de 'Hola Món'.

3.2. Errors de Temps d'Execució

Aquests errors es produeixen durant l'execució del codi.

Exemple:

BEGIN
    SELECT * INTO v_variable FROM dual;
END;
/

Error: Si v_variable no està declarat, es produirà un error.

3.3. Errors Lògics

Els errors lògics són més difícils d'identificar perquè el codi pot executar-se sense errors, però no produeix els resultats esperats.

Exemple:

DECLARE
    v_sum NUMBER;
BEGIN
    v_sum := 1 + 'a'; -- Error lògic
    DBMS_OUTPUT.PUT_LINE('La suma és: ' || v_sum);
END;
/

Error: Intentar sumar un número amb una cadena.

  1. Tècniques de Depuració

4.1. Utilitzar Missatges de Depuració

Inserir missatges de depuració en punts crítics del codi per seguir el flux d'execució.

Exemple:

BEGIN
    DBMS_OUTPUT.PUT_LINE('Iniciant el procés...');
    -- Codi PL/SQL
    DBMS_OUTPUT.PUT_LINE('Procés completat.');
END;
/

4.2. Punts de Ruptura

Utilitzar punts de ruptura per aturar l'execució en punts específics i inspeccionar l'estat del programa.

4.3. Seguiment de Variables

Monitoritzar el valor de les variables durant l'execució per assegurar-se que contenen els valors esperats.

Exercici Pràctic

Exercici 1: Depuració amb DBMS_OUTPUT

  1. Escriu un bloc PL/SQL que calculi la suma dels primers 10 números naturals.
  2. Utilitza DBMS_OUTPUT.PUT_LINE per mostrar el valor de la suma en cada iteració.

Solució:

DECLARE
    v_sum NUMBER := 0;
BEGIN
    FOR i IN 1..10 LOOP
        v_sum := v_sum + i;
        DBMS_OUTPUT.PUT_LINE('Suma fins a ' || i || ' és: ' || v_sum);
    END LOOP;
END;
/

Exercici 2: Identificació d'Errors

  1. Escriu un bloc PL/SQL amb un error de sintaxi i un error de temps d'execució.
  2. Corregeix els errors i explica com els has identificat.

Solució:

-- Bloc amb errors
DECLARE
    v_sum NUMBER;
BEGIN
    v_sum := 1 + 'a'; -- Error lògic
    DBMS_OUTPUT.PUT_LINE('La suma és: ' || v_sum);
END;
/

Correcció:

-- Bloc corregit
DECLARE
    v_sum NUMBER;
BEGIN
    v_sum := 1 + 1; -- Correcció de l'error lògic
    DBMS_OUTPUT.PUT_LINE('La suma és: ' || v_sum);
END;
/

Explicació: L'error es va identificar perquè Oracle va reportar un error de tipus de dades incompatible.

Conclusió

La depuració de codi PL/SQL és una habilitat essencial que ajuda a identificar i corregir errors, millorant la qualitat i el rendiment del codi. Utilitzant eines com DBMS_OUTPUT, DBMS_DEBUG i Oracle SQL Developer, podem depurar el nostre codi de manera eficient. Practicar aquestes tècniques ens permetrà escriure codi més robust i fiable.

© Copyright 2024. Tots els drets reservats