|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
привет! как сделать так чтобы при добавление нового заказа в табл orders количество заказанных единиц quantity вычеталось из запасов, которые хранятся в другой таблице? спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2011, 21:51 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
blondin4ik, ну а пример данных, пример Ваших попыток решения в виде кода? И главное, к APEX это как относится? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2011, 22:01 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
suPPLer, ну кода то особо и нет, так как я пока не знаю с какой стороны подойти. суть задачи: создал форму для добавления заказов на основе таблицы orders, где находиться поле количества заказанных единиц QUANTITY. Надо, чтобы количество заказанного синхронизировалось с запасами хранящимися в табл items в атрибуте STOCK ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2011, 22:41 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
blondin4ik, поверьте, Ваш вопрос - это не вопрос касательно APEX. Это вопрос об SQL (как обновить таблицу остатков), о PL/SQL (как написать процедуру, которая будет обновлять таблицу остатков), о проектировании БД. Синхронизировать остаток товара с заказанным - это просто. Например, так Код: plaintext 1. 2. 3. 4.
Лучше обдумайте, может ли у Вас быть отрицательный остаток, что делать, если при создании заказа не хватает товара, стоит ли выводить в форме доступное для заказа количество товара. И хранение строк заказа в таблице заказов - это не третья нормальная форма. Так что нормализуйте модель данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2011, 23:16 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
suPPLer, ясно. просто пишу я в нем. по этому и решил что задавать вопрос надо в этой ветке. что касательно отрицательных остатков и вывод доступного это все потом. мне бы для начала по простому решить, чтобы при добавлении в одну таблицу каких-либо значений они вычитались из другой. по поводу третьей нормальной формы - спасибо за замечание, учту. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 11:57 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
suPPLer, но если вы подскажите как работать с отрицательным остатком и что делать если при создании заказа не хватает товара - буду только рад! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 12:07 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
короче написал вот такой триггер. вроде заработало. может кому пригодиться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 20:54 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
blondin4ikкороче написал вот такой триггер. вроде заработало. может кому пригодиться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А если будет аннулирование заказа? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 22:35 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
blondin4ikкороче написал вот такой триггер. вроде заработало. может кому пригодиться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А теперь попробуйте подумать, что произойдёт, если кто-то будет менять существующий заказ. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 22:35 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
suPPLerА теперь попробуйте подумать, что произойдёт, если кто-то будет менять существующий заказ. PS: Чуть не забыл. Обновлять всю таблицу остатков подзапросами по всей таблице заказов - это, конечно, решит задачу. Но очень не эффективно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2011, 23:34 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
suPPLer, авторА теперь попробуйте подумать, что произойдёт, если кто-то будет менять существующий заказ. да согласен. у мне нет ответа на этот вопрос. авторPS: Чуть не забыл. Обновлять всю таблицу остатков подзапросами по всей таблице заказов - это, конечно, решит задачу. Но очень не эффективно. пфф.. хз, а как эффективно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 13:42 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
beginner_dba, Код: plaintext
если будет аннулирование, то товары не будут выводиться в форму заказов. там стоит условие Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 14:00 |
|
как сделать так, чтобы при добавлении значений в одну таблицу, они вычитались из другой?
|
|||
---|---|---|---|
#18+
blondin4iksuPPLer, авторА теперь попробуйте подумать, что произойдёт, если кто-то будет менять существующий заказ. да согласен. у мне нет ответа на этот вопрос. Давайте порассуждаем. Ваш триггер выполняется при вставке, обновлении и удалении. Кто-то вставил заказ с покупкой пяти авторучек. Остаток авторучек уменьшился на пять. Вдруг этот заказ решили уменьшить и изменили пять авторучек на три. Что сделает Ваш триггер? blondin4iksuPPLerPS: Чуть не забыл. Обновлять всю таблицу остатков подзапросами по всей таблице заказов - это, конечно, решит задачу. Но очень не эффективно. пфф.. хз, а как эффективно? Эффективно обновлять остатки по тем товарам, заказ по которым менялся. RTFM Oracle® Database Concepts: 22 Triggers . ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2011, 14:32 |
|
|
start [/forum/topic.php?fid=50&msg=37284547&tid=1876508]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 461ms |
0 / 0 |