Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Alexander Bodnar                     2:5020/400     21 Feb 2001  18:13:54
 To : All
 Subject : Создание функции в PostgreSQL
 -------------------------------------------------------------------------------- 
 
 Привет всем.
 
 Проблема с написанием функции.
 Hаписал вод такую функцию.
 Функция создает новый объект
 и прописывает его в таблице, если его нет.
 А затем должна создать последовательность
 для данного объекта, но не создает.
 Там где создается последовательность стоят
 звездочки.
 
 CREATE FUNCTION CreateObject(varchar(600)) RETURNS int4 AS '
   DECLARE
     ObjectName ALIAS FOR $1;
     ObjectID int4;
     ObjectFound int4;
     ObjectSeqName char;
   BEGIN
     ObjectID := 0;
     SELECT INTO ObjectFound count(*) FROM Objects WHERE name=ObjectName;
     IF ObjectFound = 0 THEN
       SELECT INTO ObjectID nextval(''Objects_Seq'');
       INSERT INTO Objects(ID, NAME) VALUES(ObjectID, ObjectName);
       ObjectSeqName := ''ObjectLog'' || ObjectID || ''_Seq'';
       CREATE SEQUENCE ObjectSeqName start 1 increment 1 maxvalue 2147483647
 minvalue 1 cache 1 CYCLE;"       *****************
     END IF;
     RETURN ObjectID;
     END;
 ' LANGUAGE 'plpgsql';
 
 При выполнении этой функции выдается ошибка -
     ERROR:  parser: parse error at or near "$1"
 Если убрать строку создания последовательности то все ОК, но
 последовательность соответственно не создается.
 Если вместо имени последовательности поставить просто
 имя, а не переменную, то все ОК, последовательность создается,
 но мне нужно для каждого объекта своя последовательность,
 а не одна на всех.
 Может я не так, что-то записал?
 Подскажите пожалуйста.
 --- ifmail v.2.15dev5
  * Origin: Unknown (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Создание функции в PostgreSQL   Alexander Bodnar   21 Feb 2001 18:13:54 
 Re: Создание функции в PostgreSQL   Andrei N.Sobchuck   21 Feb 2001 19:20:52 
 Создание функции в PostgreSQL   Roman Dawydkin   23 Feb 2001 13:02:39 
Архивное /su.dbms.sql/913845f4941c.html, оценка 3 из 5, голосов 12
Яндекс.Метрика
Valid HTML 4.01 Transitional