Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
тригер
|
|||
|---|---|---|---|
|
#18+
Можно-ли с помощью тригеров изменить данные, которые вставляются в таблицу? Например, Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 19:20 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
Используйте для этого хранимые процедуры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 23:33 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
Это можно сделать в правилах (RULE), как на поле, так и на всю запись. Особенности работы с правилами можно почитать здесь: http://www.foxclub.ru/kb/index.php?sid=35321&aktion=artikel&rubrik=004&id=104&lang=ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 09:55 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
Нашел текой пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Получается на фокс перевести єтот код мне не удастся?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 13:56 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
Нет, такое в FoxPro работать не будет, поскольку в нем недопустима рекурсия триггеров. Однако это можно реализоватье через RULE, поскольку они выполняются ДО триггеров. Т.е. в RULE на уровне таблицы пишешь примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Т.е. произойдет следующее: При ЛЮБОЙ команде модификации данных в таблице Employees сначала будет выполненно RULE на уровне записи и только потом проверка по триггерам. В этот кода надо добавить еще проверку на тот факт, что это именно добавление новой записи, а не модификация существующей. Это проще всего реализовать через дополнитеьное поле, которое принимает значения .T. и .F. и заполняется там же (в RULE) в самом конце функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 14:17 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
Спасибо, но еще несколько попутных вопросов... Как на счет удаления "ветки" Запрещен рекурсивный вызов триггера в пределах одной и той же таблицы. Т.е. если сработал, например, триггер на удаление, то Вы никаким способом не сможете внутри триггера на удаление удалить какие-либо еще записи из этой же таблицы (удалить "ветку" в древовидной структуре через триггер не получится). Хотя допустимо удалить записи из другой таблицы. При удалении записи правила не срабатывают. вручную из приложения что-ли? Как-то автоматизировать не удасться? И как физичиски выглядит робота USE db IN 0 AGAIN ALIAS a? База, скорее всего, будет на другой машине. При выполнении єтой комманды не будут ли копироватся все данные на локальный комп? Где-то читал, что SELECT-SQL устанавливает только фильтр (если без NOFILTER). Что єто значит? Тоже все данные будут копираватся на локальную машину на которые потом и будет наложен єтот филтр; или только результат запроса (например,одна запись)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 17:53 |
|
||
|
тригер
|
|||
|---|---|---|---|
|
#18+
вручную из приложения что-ли? Как-то автоматизировать не удасться? Да. Только вручную из приложения или отдельными хранимыми процедурками. И как физичиски выглядит робота USE db IN 0 AGAIN ALIAS a? База, скорее всего, будет на другой машине. При выполнении єтой комманды не будут ли копироватся все данные на локальный комп? Команда USE вообще ничего не копирует (точнее копирует только несколько байт заголовка таблицы). Она всего-лишь создает некий "хендл" ("дескриптор", "идентификатор") таблицы. Где-то читал, что SELECT-SQL устанавливает только фильтр (если без NOFILTER). Что єто значит? Это значит, что вместо создания временной таблицы, как результата выполнения команды Select-SQL при определенных условиях (очень специфических) будет переоткрыта таблица источник (фактически, выполнено USE ... AGAIN) и на эту "копию" будет наложен фильтр, соответсвтующий условиям запроса в команде Select-SQL Подробнее здесь http://www.foxclub.ru/kb/index.php?sid=24056&aktion=artikel&rubrik=001&id=6&lang=ru Тоже все данные будут копираватся на локальную машину на которые потом и будет наложен єтот филтр; или только результат запроса (например,одна запись)? FoxPro в любом случае оптимизирует информацию, которую он скачивает на клиентскую машину. Что именно он будет скачивать зависит от многих условий. Но в предельном случае "таблица с наложенным фильтром" означет скачивание всей таблицы на клиента. Кое-что о работе Rushmore-оптимизации можно почитать здесь http://www.foxclub.ru/kb/index.php?sid=29869&aktion=artikel&rubrik=004&id=57&lang=ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 18:50 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32546657&tid=1596448]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 319ms |

| 0 / 0 |
