Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
вобщем, есть таблица с информацией о телефонных номерах: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. owner - владелец номера, begin_action .. end_action - период, в котором данный номер принадлежал данному владельцу. если begin_action установлен, а end_action - NULL, номер принадлежит владельцу в настоящее время. Собственно проблема: как с помощью триггера (или другим способом) сделать так, чтобы при добавлении новой информации о номере, либо изменении информации о номере: 1. если такой номер есть и он принадлежит кому-то в настоящее время (end_action=NULL) - изменить end_action на (сегодня - 1 день) и вставить новую запись с end_action=NULL; 2. Если информации о номере нет, то вставить его (даже если происходит UPDATE) Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 14:12 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
http://www.postgresql.org/docs/8.0/interactive/plpgsql-trigger.html это постгрес 8 если у вас другой просто смотрите документацию на ту версию которая вас интересует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 15:41 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
так он и в 1 и во 2 случае вставляется в таблицу как я понял... брр.. и при изменении вставлять строку... тогда не понял. ну ладно. вот пример - разбирайся дапльше сам че там придумал =)) Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ну вроде так... хотя заморочки с инсертом новой строки при апдейте не ясны... если ты просто вставляешь строку - то у тебя уже 2 одинаковых получается, а если апдейтишь - то уже 3. короче я не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 17:19 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
а или если инсерт новой строки по-любому, тогда это вне условия Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 17:22 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
2drew0 и не лень тебе за других проблемы решать? в доке ж все есть с примерами и в красках ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2005, 17:48 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
2Андрей Агеев Drew0- прав (во втором случае), как я понимаю, только наверно все-таки RETURN NULL - чтобы вместо апдейта инсерт случился. Но у меня есть несколько замечаний. Я решаю похожую задачу и думаю, что 1. оператора необходимо уведомить, если такой номер уже есть. 2. часто при этом смена владельца происходит не сегодня, а в ближайшем будующем, (перезаключение договора, как я понимаю) 3. а иногда в недалеком прошлом. Из всего получается, что лучше соответствующее изменение вынести из триггера и отдать под контроль клиента (например, через процедуры сохраненные). Мне так кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 09:53 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
vfabr2drew0 и не лень тебе за других проблемы решать? в доке ж все есть с примерами и в красках ... я полтора месяца назад задавал здесь вопрос про триггер . примерно такой же. слабо представляя как это вообще работает. мне помогли (ну там за исключением одного товарища). да и ты мне несколько раз очень помогал дельными советами. так почему бы не продолжить это добрую традицию помощи новичкам? в хелпе все, конечно, есть - согласен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:11 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
это я был. косяк с раскладкой вышел =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2005, 15:12 |
|
||
|
trigger before insert or update
|
|||
|---|---|---|---|
|
#18+
офф топ создавшему топик был дан ответ на его вопрос в виде ссылки (тебе кстати тоже первый полезный ответ был дан в виде ссылки ;-)) спросивший ясно представлял что он хочет получить, но не представлял как это реализовать. лучше и точнее чем написано в мане я вряд ли смог разьяснить ... ИМНО человек поковырявшись пару часов получит значительно больший багаж знаний чем если он получит готовое решение своей задачи и хорошо если решение окажется корректным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2005, 15:40 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33122187&tid=2007170]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 268ms |
| total: | 460ms |

| 0 / 0 |
