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

Funkce PLpgSQL nevrací odpovídající názvy

Pomineme-li váš problém s okamžitými citacemi (řádně jej vyřešil Jeff), funkce může být mnohem jednodušší a rychlejší takto:

CREATE or REPLACE FUNCTION q11(partial_title text) 
  RETURNS SETOF text
  LANGUAGE plpgsql AS
$func$
BEGIN
   RETURN QUERY
   SELECT m.title || ' has ' || m.ncrew || ' cast and crew'
   FROM   movie_makers m
   WHERE  m.title ~* $1;
   
   IF NOT FOUND THEN
      RETURN NEXT 'No matching titles';
   END IF;
END
$func$;

Hlavní body:

Stranou:stěží má smysl filtrovat pohled, který již jako jediný řádek vybírá 'Fight Club'. Pro smysluplné vyhledávání byste tyto pohledy nepoužili ...



  1. Odstraňte řádky, abyste měli v tabulce Oracle maximálně x řádků na skupinu

  2. PropertyAccessException:Chyba při přístupu k poli

  3. Jak dynamicky změnit hodnotu globální proměnné v balíčku PL/SQL?

  4. xampp MySQL se nespustí