PostgreSQL: errores y mensajes

En este artículo, analizaremos los errores que están incorporados en PostgreSQL y el proceso de generar un error en PostgreSQL a través de la instrucción RAISE y ASSERT.

RAISE level format;

Exploremos un poco más la declaración de subida. AUMENTAR nivel

    Si los usuarios no especifican el nivel, de forma predeterminada, la declaración RAISE utilizará el nivel EXCEPTION que genera un error y detiene la transacción actual. Discutiremos la EXCEPCIÓN DE AUMENTO más adelante en la siguiente sección.

    El formato es una string que especifica el mensaje. El formato utiliza marcadores de posición de porcentaje ( %) que serán sustituidos por los siguientes argumentos. La cantidad de marcadores de posición debe coincidir con la cantidad de argumentos; de lo contrario, PostgreSQL informará el siguiente mensaje de error:

    [Err] ERROR:  too many parameters specified for RAISE
    

    Ejemplo:

    El siguiente AUMENTO

    DO $$ 
    BEGIN 
      RAISE INFO 'information message %', now() ;
      RAISE LOG 'log message %', now();
      RAISE DEBUG 'debug message %', now();
      RAISE WARNING 'warning message %', now();
      RAISE NOTICE 'notice message %', now();
    END $$;
    

    Producción:

    INFOWARNINGNOTICE client_min_messages log_min_messages

    EXCEPTIONRAISEel RAISEEXCEPTIONRAISE

    USING option = expression
    

    Las opciones pueden ser cualquiera de las siguientes:

    • MENSAJE
    • INSINUACIÓN
    • DETALLE
    • ERRCODESQLSTATE
    DO $$ 
    DECLARE
      email varchar(255) := 'raju@geeksforgeeks.org';
    BEGIN 
      -- check email for duplicate
      -- ...
      -- report duplicate email
      RAISE EXCEPTION 'Duplicate email: %', email 
            USING HINT = 'Check the email again';
    END $$;
    

    Producción:

    Ejemplo 2:

    ESTADO SQL

    DO $$ 
    BEGIN 
        --...
        RAISE SQLSTATE '2210B';
    END $$;
    DO $$ 
    BEGIN 
        --...
        RAISE invalid_regular_expression;
    END $$;
    

    Producción:

    Publicación traducida automáticamente

    Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *