Procedura sprawdzająca poprawność adresu email w bazie danych PostgreSQL

Czasami do sprawdzania poprawności adresu email wystarczy nam prosty walidator. Może on być taki jak zaprezentowany poniżej. Jest on napisany w plpsql-u dla bazy danych PostgreSQL. Został on przetestowany na wersji 8.2.11.

CREATE OR REPLACE FUNCTION isValidEmail( IN email VARCHAR(255) ) RETURNS boolean AS $$
BEGIN
    return lower( email ) ~* '[a-z0-9_\\-\\.]+@[a-z0-9.-]*[a-z0-9]+\\.[a-z]{1,5}$';
END;
$$ LANGUAGE plpgsql;

Przykładowe wywołanie procedury

select isValidEmail( '222a@ss.pl' );

Dodanie sprawdzania poprawności emaila w warunkach integralnościowych wiersza

ALTER TABLE employee ADD CONSTRAINT email_validator CHECK ( isValidEmail( email ) );