|
Writable views
|
|||
---|---|---|---|
#18+
Господа, помогите ламеру! DB2/400. Есть табличка Tbl с полями A,B,C,V Нужно создать 2 вьюшки на неё: V1(A,B,C), V2(A,B,C), такие, что: при вставке строки (a,b,c) в V1 в Tbl вносились бы значения a,b,c,1 при вставке строки (a,b,c) в V2 в Tbl вносились бы значения a,b,c,2 Как сие сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2003, 16:59 |
|
Writable views
|
|||
---|---|---|---|
#18+
Если нет триггеров INSTEAD, то никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2003, 01:33 |
|
Writable views
|
|||
---|---|---|---|
#18+
Victor, Вы не могли бы прислать какую-нибудь ссылку на IBMовскую документацию по триггерам INSTEAD? (Из Ваших слов "Если нет..." я заключил, что на некоторых версиях OS/400 таковой тип триггеров есть, а на некоторых нет. Я просмотрел документацию по версиям V4R5 и V5R1, но ничего подходящего не встретил. Каковые версии имели в виду Вы?) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 09:56 |
|
Writable views
|
|||
---|---|---|---|
#18+
набери addpftrg в командой строке. там можно прочитать все о том, какие бывают триггеры. *INSERT, *DELETE, *UPDATE, *READ и никаких *INSTEAD в v4r5 не было и *READ, на сколько я помню ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 10:56 |
|
Writable views
|
|||
---|---|---|---|
#18+
еще можно посмтреть формат DDS, там несколько больше возможностей, чем располагает SQL, но в успехе я не уверен, увы :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 10:59 |
|
Writable views
|
|||
---|---|---|---|
#18+
А может есть другой вариант решения даной задачи? Опиши контретнее задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 11:08 |
|
Writable views
|
|||
---|---|---|---|
#18+
Триггеры INSTEAD есть на DB2 UDB v8, а также Oracle и, помнится, MS SQL и Interbase. Везде они определяются на VIEW и делают что-то instead (вместо) чего-то. По смыслу вашего вопроса вам нужны именно такие триггеры. Но про AS/400 я практически ничего не знаю (видел один раз этот огромный ящик и листал книжку Солтиса - это все). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2003, 16:13 |
|
Writable views
|
|||
---|---|---|---|
#18+
А почему бы не сделать 2 таблицы и объеденить их во view ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 09:14 |
|
Writable views
|
|||
---|---|---|---|
#18+
А там insertable-view с union all есть? ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2003, 10:24 |
|
Writable views
|
|||
---|---|---|---|
#18+
Нет, 2 Table -> 1 view тоже не получится - нельзя будет писать в этот объединенный файл. Пока я вижу единственный вариант - это сделать 3 отдельных Table (1 общая и 2 "половинки"), у каждой на insert висит триггер, который добавляет запись в одну из 2 других таблиц. Но это - дублирование данных, а хотелось этого избежать, используя хитрые VIEW. В DDS LF подобного тоже не нашел... Всё упирается в невозможность привязать trigger к LF, а не к PF. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 13:53 |
|
Writable views
|
|||
---|---|---|---|
#18+
значит, вешайся! а раскидать по мемберам, а потом обозвать PF разными именами для первого и второго мембера с помоцью ovrdbf тоже не получается? ничего ж не мешает сказать в триггеге *BEFORE ovrdbf, а в триггере *AFTER dltovr (тьфу ты блин,ну и пьянка пошла...) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 14:14 |
|
Writable views
|
|||
---|---|---|---|
#18+
Не совсем то что нужно, но может устроит. Если создать пару вьюшек с WITH LOCAL CHECK OPTION. И при этом требовать явного указания значение столбца V при вставке/редактировании. CREATE VIEW VVV.V1 (A, B, C, V) AS SELECT T1.A, T1.B, T1.C, T1.V FROM TABLE1 AS T1 WHERE T1.V = 1 WITH LOCAL CHECK OPTION ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 14:39 |
|
|
start [/forum/topic.php?fid=43&fpage=161&tid=1606493]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 376ms |
0 / 0 |