sql >> Databáze >  >> RDS >> PostgreSQL

Vlastní chybová zpráva pro omezení seznamu Postgresql CHECK IN

Pokud můžete žít s mírně odlišným kontrolním omezením, můžete provést následující:

Vytvořte funkci, která kontroluje hodnoty:

create function check_zone(p_input text)
  returns boolean
as
$$
declare
  l_allowed text[] := array['Marine', 'Terrestrial'];
begin
  if p_input = any(l_allowed) then 
    return true;
  end if;
  raise 'The only allowed values are: %', array_to_string(l_allowed, ', ');
end;
$$
language plpgsql
immutable;

A pak použijte tuto funkci místo podmínky IN:

create table data
(
  management_zone text not null,
  CONSTRAINT check_zone CHECK (check_zone(management_zone))
);

Následující INSERT

insert into data values ('foo');

výsledkem bude:




  1. Chyba MySQL při startu

  2. MySQL - vyberte hodnocení pro uživatele v tabulce skóre

  3. mysqltuner.pl na serveru Windows 2008 r2

  4. Vygenerujte tabulku MySQl skriptu aktualizace