PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Функцията PLpgSQL не връща съответстващи заглавия

Ако оставим настрана вашия непосредствен проблем с цитирането (беше разгледан правилно от Джеф), функцията може да бъде много по-опростена и по-бърза по този начин:

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$;

Основни точки:

Настрана:едва ли има смисъл да филтрирате изглед, който вече избира „Боен клуб“ като единствен ред. За смислено търсене не бихте използвали тези изгледи ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Нечувствителни ли са имената на функциите в PostgreSQL?

  2. Увеличете стойността на колоната при определено условие в SQL заявка на Postgresql

  3. Функция за връщане на динамичен набор от колони за дадена таблица

  4. Заявките за тип SELECT ли са единственият тип, който може да бъде вложен?

  5. Еволюция на отказоустойчивостта в PostgreSQL:Синхронно записване