Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.01.2007, 23:18
|
|||
|---|---|---|---|
Помогите с созданием простого триггера |
|||
|
#18+
Всем привет!!!! Встал на не проходимой стене... все потихоньку разбирался, но вот когда дело дошло до триггеров.... ( Приложение работает под win > postgresql 8.2 php apache Сначала включил или создал поддержку plpgsql я так понял (все делал по книгам и докам) след. обрзом, cmd line: createlang -d tr plpgsql (база так и называется - tr) Система в которой есть рабочие: CREATE TABLE worker ( worker_id serial NOT NULL, worker_password text, worker_login text, worker_phonehome text, worker_phonemob text, worker_email text, worker_dateofemploy date, И есть человек который регистрирует таких рабочих в системе, добавляя в БД сотрудников. Вот такая ситуация, если менеджер, когда добавляет нового сотрудника при заполнении поля login вводит уже существующий в БД login. Поставил перед собой задачу, надо написать триггер который будет проверят этот вводимый login. Задача: Написать триггерную профедуру (функцию) и триггер... Перепробывал из книжек все, вроде везде что то похожее.. !!!!!!!!!! Еще вопрос народ, на postgresql.org прочитал, что есть IRC канал по postgresql. Зашел на него , но все иностранцы как мне показалось. Вы заходите туда? Есть ли IRC каналы по postgresql на русском? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2007, 06:03
|
|||
|---|---|---|---|
|
|||
Помогите с созданием простого триггера |
|||
|
#18+
slackman CREATE TABLE worker ( worker_id serial NOT NULL, worker_password text, worker_login text, worker_phonehome text, worker_phonemob text, worker_email text, worker_dateofemploy date, И есть человек который регистрирует таких рабочих в системе, добавляя в БД сотрудников. Вот такая ситуация, если менеджер, когда добавляет нового сотрудника при заполнении поля login вводит уже существующий в БД login. Поставил перед собой задачу, надо написать триггер который будет проверят этот вводимый login. Задача: Написать триггерную профедуру (функцию) и триггер... Перепробывал из книжек все, вроде везде что то похожее.. А что мешает поставить UNIQUE на Worker_Login? slackman !!!!!!!!!! Еще вопрос народ, на postgresql.org прочитал, что есть IRC канал по postgresql. Зашел на него , но все иностранцы как мне показалось. Вы заходите туда? Есть ли IRC каналы по postgresql на русском? Я лично не хожу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2007, 16:49
|
|||
|---|---|---|---|
Помогите с созданием простого триггера |
|||
|
#18+
Возможно Unique выход.... Но хотелось работу триггеров. Он при попытке начать работать пишет что не может достать из табл. worker - worker_id Я думал что задача не сложная и уже у кого то есть готовые триггеры на проверку существования login'а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.01.2007, 18:19
|
|||
|---|---|---|---|
|
|||
Помогите с созданием простого триггера |
|||
|
#18+
slackmanВозможно Unique выход.... Но хотелось работу триггеров. Он при попытке начать работать пишет что не может достать из табл. worker - worker_id Я думал что задача не сложная и уже у кого то есть готовые триггеры на проверку существования login'а? Задача в самом деле не сложная, и для нее уже давно сделали прикрасное решение, и это, как сказал Kruchinin Pahan, uniq ключ! :-) А вот как эту ситуацию(срабатывание ограницения) обрабатывать в php это другой вопрос. Ну если очень хочеться это через тригер сделать (в образовательных целях) - пишите чего делате и чего не работает, посмотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.01.2007, 14:19
|
|||
|---|---|---|---|
|
|||
Помогите с созданием простого триггера |
|||
|
#18+
С триггером будет работать практически, но не теоретически. Реально две транзакции: 1. и 2. 1. начались 2. начались 1. вставили worker_login='vasya' - триггер других вась не увидел и вставка удалась 2. вставили worker_login='vasya' - триггер других вась не увидел, ибо первая транзакция еще не завершилась, и вставка удалась 1. закончились 2. закончились В итоге имеем двух вась ('vasya'). Сам проверял - именно так и происходит. Если же UNIQUE, то все нормально - вторая тразнакция блокируется и после завершения первой выскакивает exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2005749]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 328ms |

| 0 / 0 |
