Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: триггеры в pgAdmin'e  (Прочитано 13321 раз)
0 Пользователей и 1 Гость смотрят эту тему.
voland
Гость
« : 08-08-2009 16:33 » 

как устанавливать созданные для таблицы триггеры для конкретного поля этой таблицы? Вот sql-код
самой таблицы Laboratory:

-- Table: "Laboratory"

-- DROP TABLE "Laboratory";

CREATE TABLE "Laboratory"
(
  "Num" integer,
  "Name_supervisor" text,
  "Name_lab" text,
  "Code_lab" integer NOT NULL,
  CONSTRAINT "Laboratory_pkey" PRIMARY KEY ("Code_lab")
)
WITH (OIDS=FALSE);
ALTER TABLE "Laboratory" OWNER TO postgres;

-- Trigger: id_lab on "Laboratory"

-- DROP TRIGGER id_lab ON "Laboratory";

CREATE TRIGGER id_lab
  BEFORE INSERT
  ON "Laboratory"
  FOR EACH ROW
  EXECUTE PROCEDURE autoinc();
 
##==
а вот триггера, созданного для таблицы Laboratory:
-- Trigger: id_lab on "Laboratory"

-- DROP TRIGGER id_lab ON "Laboratory";

CREATE TRIGGER id_lab
  BEFORE INSERT
  ON "Laboratory"
  FOR EACH ROW
  EXECUTE PROCEDURE autoinc();

Как установить для поля Code_lab автоинкремент - триггер id_lab?  Не понял
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 08-08-2009 16:45 » 

voland, событие происходит для строки и оперировать приходится целой строкой. Соотв., вешаешь триггер на BEFOR INSERT и в теле процедуры присваиваешь NEW.id_lab нужное значение.

Хотя, на твоем месте я бы посмотрел документацию на Postresql - наверняка есть более гуманный метод, без триггеров.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
voland
Гость
« Ответ #2 : 09-08-2009 16:23 » 

Окай. Понял. Попал не по адресу. Бывает. Ну как говориться язык до Киева... тьфу до истины доведет. 
Записан
voland
Гость
« Ответ #3 : 09-08-2009 16:27 » 

В Oracle вообще понятия триггер нету все делается через процедуры. Если правильно помниться...
Записан
voland
Гость
« Ответ #4 : 09-08-2009 16:32 » 

А вот и сравнение постгреса с му-с-кью-элом: http://209.85.229.132/search?q=cache:Z6_GLF1sD_AJ:amsand.narod.ru/articles/psql.html+пример%2Bсоздания%2Bиспользования%2Bтриггеров%2BpgAdmin&cd=10&hl=ru&ct=clnk&gl=ru
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 09-08-2009 16:53 » 

В Oracle вообще понятия триггер нету все делается через процедуры. Если правильно помниться...

Не помнится, а придумывается Улыбаюсь

А вот и сравнение постгреса с му-с-кью-элом: http://209.85.229.132/search?q=cache:Z6_GLF1sD_AJ:amsand.narod.ru/articles/psql.html+пример%2Bсоздания%2Bиспользования%2Bтриггеров%2BpgAdmin&cd=10&hl=ru&ct=clnk&gl=ru

И нафига нам это? Каким боком это относится к твоему вопросу? Да и данные там давным давно устаревшие.

Что-то ты во все стороны разбрасываешь, вместо того, чтобы почитать доки.

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 09-08-2009 17:27 » 

В Oracle вообще понятия триггер нету все делается через процедуры. Если правильно помниться...
Чуть не поперхнулся...
RXL вовремя постучал по спине...
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
voland
Гость
« Ответ #7 : 09-08-2009 17:52 » 

может быть... просто я человек неуравновешенный... вот и прет куда то, сам не знаю куда... Ладно ладно про Oracle я вообще молчу - не знаю, просто чет вспомнилось, что там то без процедур то ли без триггеров что-то делается... но не знаю и врать не буду уж если кого ввел в заблуждение то из-за незнаания а не специально...  и во-вторых, ссылка не конкретно RXL'у, я же не в личное сообщение ему отписал! а вообще бедолагам, таким как я например, потому как мне незатруднительно и интересно читалось... Так что уж умных прошу не обижаться на незнающих. А доки перевожу и читаю...
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 09-08-2009 18:02 » new

voland, если хотеть, найти и переводную доку можно...

http://postgresql.ru.net/
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
voland
Гость
« Ответ #9 : 09-08-2009 18:22 » 

Да я уже её и читаю... Ещё есть:  http://postgresmen.ru/articles/view/39. А в упомянутой ссылке интересна страница  http://postgresql.ru.net/node/138.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines