Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как запустить триггер на SQL сервере для конкретной записи / 6 сообщений из 6, страница 1 из 1
30.06.2004, 09:28
    #32582430
Василий Л
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
Здравствуйте. Подскажите пожалуйста

Как можно запустить тригер на обрезку пустых пробелов в конце значения символьного поля (пишу из VFP 8) только для измененной записи

Спасибо.
...
Рейтинг: 0 / 0
02.07.2004, 09:17
    #32586383
Соня_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
Вообще-то триггер создается и будет существовать на сервере.
Выглядеть будет примерно так:

CREATE trigger t1
on table1
for update
as
update table1 set field1=ltrim(i.field1)
from inserted i
where i.id=table1.id

Он создается один раз, потом будет все отслеживать при апдейте.
Из фокса его можно создать с помощью сквозного запроса -
описанную выше команду поместить, предположим, в строку a1 и написать:

res=SQLExec(Nhandle,a1)

где Nhandle - идентификатор соединения. Тоже один раз достаточно для создания.

Насчет самого триггера - я сейчас попробывала потестить, он у меня зациклился. Там вроде какую-то настройку надо поменять, чтобы этого не происходило, но я не помню какую и где< так как давно не работала с сервером. Может, кто знает?
Или я триггер все же неверно написала?
...
Рейтинг: 0 / 0
02.07.2004, 09:55
    #32586451
vl2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
>Соня
Оригинально! В триггере на Update делать Update этой же таблицы.
Естественно будет зацикливание.
...
Рейтинг: 0 / 0
02.07.2004, 09:59
    #32586460
Соня_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
Я согласна))))
А как еще-то?
НО!
В каких-то случаях в этой ситуации зацикливания НЕ происходит. Как-то это отслеживается и анализируется сервером, он может не допускать зацикливания и работать нормально.
А вот как ты еще напишешь такой триггер?
Я же сказала - давно не работала с ним и поэтому могу ошибаться в написании триггера или еще в чем-то. Вот, жду когда поправят.
%)))
...
Рейтинг: 0 / 0
02.07.2004, 11:14
    #32586670
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
Все правильно. Именно так и делается. Чтобы запретить зацикливание триггеров надо снять птичку

Allow triggers to be fired which fire other triggers (nested triggers).

в свойствах собственно сервера (закладка Sever Setting) - это если через Enterprise Manager
...
Рейтинг: 0 / 0
02.07.2004, 12:32
    #32586909
Соня_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как запустить триггер на SQL сервере для конкретной записи
%)))
а вот что по этому поводу сказали на форуме MSSql
(избежание зацикливания с помощью установок базы данных и не трогая этих установок):
/topic/104138

%)))))))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как запустить триггер на SQL сервере для конкретной записи / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]