|
|
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
Возникла задачка по передачи параметра в триггер. Просто есть необходимость различать откуда идут данные. Либо от оператора БД, либо от внешней программы, подключенной с помощью ADO . В зависимости от этого триггер должен по разному реагировать. Правда есть два варианта решения, но хотелось бы узнать, может еще какие есть, о которых я еще не знаю 8) Первый - завести дополнительное поле в таблице на которой висит триггер(имя - param , тип, например, I ), и при занесении или редактировании записи, через это поле передавать необходимые значения. Но уж больно громоздко получается, еще одно доп. поле в таблице. В общем, не нравится 8(((. Второй - завести глобальную переменную ( g_param ) и в зависимости от того, какое у нее значение установлено, делать необходимые действия. Например, запретить редактировать записи оператору БД и разрешить это делать внешней программе. Но, вопрос, как достучаться до нее из внешнего приложения? Пока не имею представления. Второй ( гибридный ) - тоже самое, но переменная храниться в таблице. Тут, вроде, понятно, как ее изменять ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 10:18:05 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
Небольшое дополнение. Либо, если есть возможность, как-нибудь подменить триггер или его отключить. Первое предпочтительней. Все это нужно для FoxPro v.6.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 10:21:31 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
Сам себе отвеечаю 8) В общем достучаться до глобальных переменных можно используя хранимые процедуры, которые вызываются при помощи VFP OLE DB Provider. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 10:57:00 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
Вот замуторка-то. Самый действенный вариант - это хранить значение в дополнительной таблице. Плохо все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 11:37:23 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
Самый "правильный" - это дополнительное поле в таблицах. Тебе же проще, когда пойдут "разборы полетов": - А почему здесь так, а вот здесь иначе? - Так Вы же эту запись через ADO создавали! Если не будет такого признака, как потом будешь доказывать что это не "программа плохая"? А если несколько внешних программ будет? Т.е. вообще-то, придется держать целый список значений для этого поля: каждое значение - отдельная программа (для хранения списка допустимых значений - отдельная табличка). Нет признака - вошли "левым" способом (вообще без программы, напрямую) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 11:48:21 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
ВладимирМСамый "правильный" - это дополнительное поле в таблицах. Тебе же проще, когда пойдут "разборы полетов": Возможно и так, но дополнительное поле в таблицах не хочется. Пока остановлюсь на настроечной таблице, в которой и будет эта переменная. А уже в триггере в зависимоти от нее заносить нужные данные в таблицу логов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 14:05:05 |
|
||
|
Передача параметров в триггер
|
|||
|---|---|---|---|
|
#18+
ProteinПока остановлюсь на настроечной таблице, в которой и будет эта переменная. А уже в триггере в зависимоти от нее заносить нужные данные в таблицу логов. Замечательно. 2 пользователя одновременно работают с твоими таблицами. Один через ADO, другой напрямую. Что будет в этой настроечной таблице? Как будет работать твой триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2005, 14:14:48 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33379154&tid=1593060]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
174ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 476ms |

| 0 / 0 |
