powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Triggers!!!
8 сообщений из 8, страница 1 из 1
Triggers!!!
    #32335545
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Я только начал заниматся на Фоксе и у меня возникла одна проблема, связанная с триггерами!
Проблем в следующем: мне надо написать триггеры для таблицы на Insert, Update и Delete. В базе есть несколко таблиц и у них имеются копии с названием log_имятаблицы. Мне нужно, чтобы:
1) Insert - При вставке новой записи в таблицу в ее копию (с названием log_) дублировалась ета же запись.
2) Update - При обновлении записи таблицы вставлялась новая строка в ее копию с обновленными данными.
3) Delete - При удалении записи вставлялась бы новая строка в копию таблицы, с данными, которые удалили.

Плюс ко всему ето должно быть универсально, то есть я не знаю название и количество столбцов в таблице!
Помогите пожалуйста!!!!
...
Рейтинг: 0 / 0
Triggers!!!
    #32335581
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
Если в качестве логов ты выбрал таблицы со структурой основных таблиц, то триггеры будут тормозить процесс изменения таблиц весьма прилично, если озаботиться поддержкой структуры LOG -таблиц через теже триггеры.
Думаю с точки зрения универсальности лучше будет организовать LOG на жесткой структуре LOG-таблиц, а сами записи формировать не тупым копированием, а генерацией SQL-скрипта. При этом тупой повтор SQL-комманд до нужного момента изменения строки в таблице даст тебе нужные данные.
В этом случае можно будет обойтись одной LOG-таблицей, что существенно упростит обработку логов.

А что касается перебора столбцов в таблице, то обрати внимание на функци:

FIELD(nFieldNumber [, nWorkArea | cTableAlias])
FCOUNT([nWorkArea | cTableAlias])
...
Рейтинг: 0 / 0
Triggers!!!
    #32335591
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ja ponimaju, no nichego ne mogu podelat! Takovo ukazanie nachalstva! A vot kak napisat kod dlja triggerov, ja ne znaju!
...
Рейтинг: 0 / 0
Triggers!!!
    #32335594
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
HELP CREATE TRIGGER ON
...
Рейтинг: 0 / 0
Triggers!!!
    #32335600
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A ty sam etot help videl????
Takoj trigger ja i sam napishu, a zdes kaskadnyj!
...
Рейтинг: 0 / 0
Triggers!!!
    #32335705
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to andrew81
Код: plaintext
1.
Scatter memvar 
insert into ('log_'+alias()) from memvar

чем тебя не устраивает?
...
Рейтинг: 0 / 0
Triggers!!!
    #32335777
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
open MyDataBase.dbc
modify procedure

добавляешь туда свою функцию. Например:

function myTrigger()
Scatter memvar
insert into ('log_'+alias()) from memvar
endfunc

и

CREATE TRIGGER ON MyTable FOR UPDATE AS MyTrigger()
...
Рейтинг: 0 / 0
Triggers!!!
    #32336374
andrew81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thanks, guys!! SCATTER katit kak nelzja luchshe!!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Triggers!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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