|
|
|
View и как с ним бороться
|
|||
|---|---|---|---|
|
#18+
При создании view CREATE SQL VIEW view_p_pay2 AS ; select b.id_pay, b.id_pay_up, b.addr_pay, b.rah_pay, b.mfo_pay, b.bank_pay, b.date_pay ; from p_pay_dop as b, p_pay as a ; where a.id_pay=b.id_pay and b.id_pay=2 ; order by b.id_pay_up и потом его открытии в первый раз выдаються правильные данные, но если опять выполнить создание этого же view, но уже с where a.id_pay=b.id_pay and b.id_pay=1 ; то при открытии выдаються старые значения. Что можно сделать, чтобы и во втором случае view работал нормально? Или посоветуйте, если можно не пересоздавая view изменить так, чтобы в него выдавальсь только те записи, которые b.id_pay=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 17:38:34 |
|
||
|
View и как с ним бороться
|
|||
|---|---|---|---|
|
#18+
Между первым и вторым дай команду USE или CLOSE TABLE ALL. А вообще то создай параметиризованное VIEW и не мучайся. CREATE SQL VIEW view_p_pay2 AS ; select b.id_pay, b.id_pay_up, b.addr_pay, b.rah_pay, b.mfo_pay, b.bank_pay, b.date_pay ; from p_pay_dop as b, p_pay as a ; where a.id_pay=b.id_pay and b.id_pay= ?tnID_Pay ; order by b.id_pay_up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 17:52:37 |
|
||
|
View и как с ним бороться
|
|||
|---|---|---|---|
|
#18+
Cop_manПри создании view CREATE SQL VIEW view_p_pay2 AS ; select b.id_pay, b.id_pay_up, b.addr_pay, b.rah_pay, b.mfo_pay, b.bank_pay, b.date_pay ; from p_pay_dop as b, p_pay as a ; where a.id_pay=b.id_pay and b.id_pay=2 ; order by b.id_pay_up и потом его открытии в первый раз выдаються правильные данные, но если опять выполнить создание этого же view, но уже с where a.id_pay=b.id_pay and b.id_pay=1 ; то при открытии выдаються старые значения. Что можно сделать, чтобы и во втором случае view работал нормально? Или посоветуйте, если можно не пересоздавая view изменить так, чтобы в него выдавальсь только те записи, которые b.id_pay=1 Лучше почитать о ПАРАМЕТРИЗИРОВАННЫХ представлениях. Т.Е. вместо ...b.id_pay=2 поставить: ...b.id_pay=?t_id_pay т.е. t_id_pay - есть переменная пямяти, ее перед выполнением представления нужно определить (если она не будет определена FOX попросит определить ее). Ты поставишь: t_id_pay = 1 USE view_p_pay2 IN 0 && для первого вывода представления Далее когда тебе надо изменить параметр: t_id_pay = 2 =REQUERY('view_p_pay2') && переопределяем представление А представление в базе создают один раз, а дальше его только переопределяют с новыми параметрами. Из-за этого оно и называется ПАРАМЕТРИЗИРОВАННОЕ представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 18:03:48 |
|
||
|
View и как с ним бороться
|
|||
|---|---|---|---|
|
#18+
AleksMedМежду первым и вторым дай команду USE или CLOSE TABLE ALL. А вообще то создай параметиризованное VIEW и не мучайся. CREATE SQL VIEW view_p_pay2 AS ; select b.id_pay, b.id_pay_up, b.addr_pay, b.rah_pay, b.mfo_pay, b.bank_pay, b.date_pay ; from p_pay_dop as b, p_pay as a ; where a.id_pay=b.id_pay and b.id_pay= ?tnID_Pay ; order by b.id_pay_up Создал, но опять же при присваивании переменной значения 1 показывает правильно, потом изменяю переменную на 2, вызываю view, опять показывает правильно, но это при первом запуске процедуры, когда же тоже самое опять повторить, то в каждом из случаев данные будут неправильными. Что это может быть и как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 18:06:35 |
|
||
|
View и как с ним бороться
|
|||
|---|---|---|---|
|
#18+
Владимир СА Лучше почитать о ПАРАМЕТРИЗИРОВАННЫХ представлениях. Т.Е. вместо ...b.id_pay=2 поставить: ...b.id_pay=?t_id_pay т.е. t_id_pay - есть переменная пямяти, ее перед выполнением представления нужно определить (если она не будет определена FOX попросит определить ее). Ты поставишь: t_id_pay = 1 USE view_p_pay2 IN 0 && для первого вывода представления Далее когда тебе надо изменить параметр: t_id_pay = 2 =REQUERY('view_p_pay2') && переопределяем представление А представление в базе создают один раз, а дальше его только переопределяют с новыми параметрами. Из-за этого оно и называется ПАРАМЕТРИЗИРОВАННОЕ представление. Большое спасибо, работает нормально!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2005, 18:11:13 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=301&tid=1593433]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 345ms |

| 0 / 0 |
