|
Оптимальное решение
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста! Создаю базу на SQL 7.0 - есть куча клиентов, у клиентов есть куча заказов. Певое что пришло в голову для обработки заказов - при создании клиента создавать для него персональный VIEW и потом с его помощью работать с заказом (они должны время от времени меняться). Но выяснилось VIEW триггером не создать нельзя его создать и процедурой Как лучше поступить? Вытаскивать данные процедурой а потом записывать поверх старых очень не хочется! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2001, 12:07 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
В таких случаях и не надо создавать View для каждого клиента. Обычно создают одну View, одно из полей которой имеет значение кода клиента, for example create table Clients ( code varchar(20) not null primary key, descr varchar(60) null, .... ) create table Orders ( id int not null primary key identity, order_code varchar(20) not null, client_code varchar(20) not null, count int not null, ... ) create view ClientOrdersView as select o.id, c.code, o.order_code, o.count, .... from Clients c, Orders o where c.code = o.client_code чтобы получить заказы по клиенту Intel делают запрос типа select * from ClientOrdersView where code = 'Intel' order by ... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2001, 14:40 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
Это все понятно смущает такой момент: если заказов 100000 то клиентск.приложению придется все их вытаскивать и выбирать по нужному коду, а хотелось бы чтоб VIEW выдал только необходимые записи - с нужным кодом. Это было бы возможно, если я буду создавать с клиентом и VIEW для него. Подскажите, как действовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2001, 19:45 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
А что у вас за клиентская софтина? Судя по вопросу наверно Access. Да наверно еще и с прилинковаными таблицами. Это вообще не совсем клиент-сервер. Но скажу сразу: на клиент все данные вытаскивать и обрабатывать не нужно. Это задача сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 06:01 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
Ну да, он самый - Access. Но в качестве источника данных для формы я хочу использовать различные VIEW - для каждого клиента свой. Если это неправильно - подскажите плз, как сделать лучше! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 07:08 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
Когда то я делал это так: создавал запрс к серверу с парамеирами и указывал его в качестве источника записей формы. При открытии формы задавал необходимые параметры. Вот только такой запрос в аксессе не обновляемый. Но это не означает что нельзя редактировать данные. Их нельзя изменить только в этой форме. Как вариант - шли серверу SQL команды, а в форме говори Requery. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 10:06 |
|
Оптимальное решение
|
|||
---|---|---|---|
#18+
Задачу можно решить, используя таблицы с именем клиента и заведя одноимённые логины, а в VIEW сделать условие WHERE client = SYSTEM_USER. Конечно, если пользователей нужно различать, можно сделать таблицу, связываещую клиентов и пользователей и использовать в VIEW её. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2001, 13:04 |
|
|
start [/forum/topic.php?desktop=1&fid=46&tid=1827410]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 373ms |
0 / 0 |