Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 54 55 56 57 58 [59] 60 61 62 63 .. 106   вперед  Ctrl
 Re: CACHE и MSSQL  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2402
Блог
iscrafm
Как сказал бы небезизвестный Полковник: "ну вы блин даете..."
Это Вы называете решением?
Да, блин, это я называю решением. Поскольку требование "желательно не разбивать партии" озвучено не была, была выбрана стратегия FIFO, берётся всё из партий подряд, пока не наберётся нужное количество, остаток прописывается в партию. Это никак не задача о рюкзаке, она проще и решается проще. Ещё раз - я бы решал именно так.

Я опять не понимаю чего Вы с копьём носитесь. Вам уже несколько раз сказали - да, блин, есть задачи, которые проще решать с помощью перебора записей и именно так их и решают, потому что решение запросом либо громоздко либо малопродуктивно. И чо? Их, эти задачи, в принципе можно решить одним запросом, но это не всегда выгодно/удобно. А вот например анализировать файлы логов я тоже с помощью SQL не буду, натравлю на него пёрл или авк. И что это докажет?
1 дек 06, 14:39    [3479882]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Павел Воронцов
iscrafm
Как сказал бы небезизвестный Полковник: "ну вы блин даете..."
Это Вы называете решением?
Да, блин, это я называю решением.

Решение в простейшем случае, без учета логики после каждого подбора, визуально, выглядит так, как показано на рисунке внизу.


Павел Воронцов
Я опять не понимаю чего Вы с копьём носитесь. Вам уже несколько раз сказали - да, блин, есть задачи, которые проще решать с помощью перебора записей и именно так их и решают, потому что решение запросом либо громоздко либо малопродуктивно.

Вы что то путаете. Говорят другое :)

- Вот и все, какие проблемы-то с нафигацией? В упор не вижу никаких проблем, если знать SQL.
- Я утверждаю что никакой "проблемы" здесь нет, указанная задача легко и непринужденно решается с помощью SQL
- Вообще что такое "навигационный метод доступа к данным" мне кто-нибудь формально и вразумительно сформулирует? Пока что, исходя из приведенных примеров я не вижу никаких сложностей для SQL и конкретной оракловой его реализации.

и в таком духе. :)

К сообщению приложен файл. Размер - 0Kb
1 дек 06, 15:01    [3480094]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2402
Блог
Зл0й, Вы сами запрос напишите ведь? Товарисч не понмает... Ему нужна вот такая табличка - сделайте ему...

iscrafm
Не знаю почему Вы так упорно хотите ещё раз наступить на грабли. И почему не видите явных и недвусмысленных ответов в Вашу же пользу. Перечитайте ещё раз последний пост с127 например.
1 дек 06, 15:10    [3480173]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Павел Воронцов
iscrafm
Не знаю почему Вы так упорно хотите ещё раз наступить на грабли. И почему не видите явных и недвусмысленных ответов в Вашу же пользу. Перечитайте ещё раз последний пост с127 например.

Товарисч понимает. Чтобы сделать такую картинку нужно написать так:

select p.product_id, 
        p.qty_required,
        s.shipment_id,
		s.shipment_qty,
        case 
when sum(s.shipment_qty) over (partition by s.product_id order by s.product_id, s.shipment_id) - p.qty_required <0		     
then s.shipment_qty			 
else s.shipment_qty + p.qty_required - sum(s.shipment_qty) over (partition by s.product_id order by s.product_id, s.shipment_id)	 
end as rolling_qty,
case when sum(s.shipment_qty) over (partition by s.product_id order by s.product_id, s.shipment_id) - p.qty_required <0 then p.qty_required 
-  sum(s.shipment_qty) over (partition by s.product_id order by s.product_id, s.shipment_id)			 
else 0 
end as rolling_remainder  
from products p,
         shipments s
where p.product_id=s.product_id

Вы почему-то не поймете никак, что в процессе присутствует логика. Ну да ладно. Точка зрения ясна.
1 дек 06, 15:25    [3480332]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
p.s.
естественно приведенный запрос по понятным причинам работает только на одну потребность.
1 дек 06, 15:45    [3480522]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67525
Блог
iscrafm
Вы почему-то не поймете никак, что в процессе присутствует логика.

<Пропущены эмоциональные высказывания>

Да, не понимаем. Вы говорите про логику точно так же, как ЧАЛ про свои навигации: термин используете, определений не даете, на полученные ответы "из общий соображений" печалитесь. Задайте конкретный вопрос, объясните, что же Вам надо.
1 дек 06, 15:46    [3480529]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
softwarer
Да, не понимаем. Вы говорите про логику точно так же, как ЧАЛ про свои навигации: термин используете, определений не даете, на полученные ответы "из общий соображений" печалитесь. Задайте конкретный вопрос, объясните, что же Вам надо.

Да мне ничего не надо, я уже все попробовал :) (шучу). Объясняю. Началось это с замечания, что не все задачи можно решить средствами SQL и той автоматической навигацией, которую обеспечивает SQL движок. Нужна ручная навигация и она есть в РСУБД, только работает не с физическими объектами БД, а с выборкой. На это посыпались реплики, что мол хорошие знания SQL избавляют от необходимости в навигации, с примерами. До сих пор не можем составить запрос, используя эти самые хорошие знания, для решения простой задачки. Думаю и не стоит. Потому как после каждой такой иттерации будут открываться все новые условия, в которых данный запрос работать не будет. Начиная от простых ограничений и заканчивая необходимостью в событийном управлении в процессе поиска решения. Такую возможность предоставляют навигационные методы РСУБД.

p.s. softwarer, не стоит воспринимать это все столь эмоционально, предмет спора не стоит того.
1 дек 06, 15:58    [3480624]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67525
Блог
iscrafm
Началось это ...

Я помню.

iscrafm
До сих пор не можем составить запрос, используя эти самые хорошие знания, для решения простой задачки.

Да, не можем. Потому что Вы никак не скажете, что же это за задача. Уже скоро пойдут вторые сутки, как мы с Вами играем в Зою Космодемьянскую, а все без толку.

iscrafm
Думаю и не стоит. Потому как после каждой такой иттерации будут открываться все новые условия, в которых данный запрос работать не будет.

Переводя на русский язык: "все равно я буду упираться, что бы мне ни говорили".
Вы так говорите, словно процедурный код сможет работать при все новых открывающихся условиях.

iscrafm
p.s. softwarer, не стоит воспринимать это все столь эмоционально, предмет спора не стоит того.

Я "эмоционально" воспринимаю ситуации, когда потенциально интересный человек..... выступает не лучшим образом.

Бесспорно, что метод, позволяющий выполнить много запросов, заведомо не уступает по функциональным возможностям методу единственного запроса. В то же время - найти "не решаемую одним запросом" сложно, и становиться все сложнее. Можно, но тут возникает еще вопрос практической применимости названной задачи.
1 дек 06, 17:16    [3481251]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
2 softwarer
---
хорошо, давайте попробуем одним запросом решить приведенную выше задачку, без каких либо дополнительных условий, только из таблицы products уберем уникальный ключ на product_id... т.е. рассмотрим реальную ситуацию, когда подбор осуществляется последовательно для нескольких одинаковых экземпляров из products.
Самому интересно, просто сейчас несколько загружен двумя проектами, один на FB, другой на MS SQL. Переключаться еще на ORACLE - голова пухнет.
1 дек 06, 17:56    [3481546]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
softwarer
Можно, но тут возникает еще вопрос практической применимости названной задачи.

практическое применение найти не сложно. Например, реализация вышепреведенной задачи в форме одного запроса может быть использована для экспресс-проверки исполнимости плана. Т.е. когда ничего не нужно резервировать, а просто быстренько проверить наличие ресурсов, прикидочно. Очень даже практическая задача
1 дек 06, 18:04    [3481611]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67525
Блог
То есть, если я правильно понял условие, есть N заявок, K партий, требуется разноска?

OK, вечерком сделаю. Точнее, думаю что сделаю :)
1 дек 06, 18:04    [3481613]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
есть таблица потребностей
сырье, количество
Сырье в этой таблице не уникально, т.к. идет на разные заказы, допустим, и должно обрабатываться последовательно.

Есть таблица имеющихся в наличии запасов
сырье, количество.

в результате нужно для каждой записи из первой таблицы, подобрать записи из второй, количество в которых покрывает количество в первой. Т.е. как на картинке выше. Только тот запрос не работает для такой (реальной кстати) ситуации.
1 дек 06, 18:11    [3481640]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Rus000
Member

Откуда: Красноярск
Сообщений: 317
Не пойму зачем придумывать примеры - никто же не стал возражать насчет неполноты декларативного языка РСУБД. Кроме того, SQL -является подъязыком R полного языка D (в терминологии Дейта).

Каждому понятно, что существует подмножество полного языка D\R которое и будет составлять то недостающее которого не хватает R для того чтобы быть вычислительно полным.

Из того что здесь приводят в качестве примеров решения задачек iscrafm еще не значит что таких примеро нет- они есть, т.е. существует .... теорема существования так сказать
1 дек 06, 18:24    [3481691]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2402
Блог
Rus000
Не пойму зачем придумывать примеры - никто же не стал возражать насчет неполноты декларативного языка РСУБД. Кроме того, SQL -является подъязыком R полного языка D (в терминологии Дейта).

Каждому понятно, что существует подмножество полного языка D\R которое и будет составлять то недостающее которого не хватает R для того чтобы быть вычислительно полным.

Из того что здесь приводят в качестве примеров решения задачек iscrafm еще не значит что таких примеро нет- они есть, т.е. существует .... теорема существования так сказать
Ну правильно. Примерно это iscrafm и говорят. И что из этого следует? Что надо вовсе R не использовать?
1 дек 06, 19:48    [3482002]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
iscrafm
Еще пока не продемонстрировали, еще не поймут о чем речь вообще идет. Только Павел Воронцов правильно сравнил задачу аллокации или загрузки ресурсов с упаковкой рюкзачка. Самое интересное в этой задаче в том, что условия меняются в процессе обновления записей. Вот и Вам тот же вопрос: может ли одно SQL предложение (update...where) изменить условия в WHERE для последующих записей в зависимости от того, какие изменения произведутся в UPDATE на предыдущих? Или все таки декларация на то и декларация?


А зачем менять условия в Where? Я логику в духе "если в предшествующей записи (записях) X то в данной записи Y" могу реализовать с помощью аналитических функций. Например с помощью Sliding windows. В общем вместо того чтобы менять условие в WHERE я пишу все тоже самое через "накапливаемые" переменные.
1 дек 06, 20:05    [3482047]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
Rus000
Не пойму зачем придумывать примеры - никто же не стал возражать насчет неполноты декларативного языка РСУБД. Кроме того, SQL -является подъязыком R полного языка D (в терминологии Дейта).

Каждому понятно, что существует подмножество полного языка D\R которое и будет составлять то недостающее которого не хватает R для того чтобы быть вычислительно полным.

Из того что здесь приводят в качестве примеров решения задачек iscrafm еще не значит что таких примеро нет- они есть, т.е. существует .... теорема существования так сказать


SQL у Дэйта и Oracle SQL - это два разных SQL. То что верно для SQL описанного у Дэйта не обязательно верно для Oracle SQL. Хотя бы уже потому, что в Оракле я могу в запросе вызывать мною же написанную функцию которая может лезть в другие таблицы с запросами.
1 дек 06, 20:08    [3482058]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
клон-дайк
Guest
Напомню. Из-за отсутствия идентификации в РМД (и в "Р"СУБД) (точнее в том числе и по этой причине) навигация в "реляционных системах" принципиально невозможна. И пользователи не могут работать с данными непосредственно. Нужно понять чем естественная идентификация
^obj(id)=ex
отличается от "ключей" в РМД. Я уже приводил, для лучшего понимания, пример объектов, не имеющих характеристик вообще (то есть экземпляр объекта "представляется" только идентификатором). Павел Воронцов указал, что у отношения РМД тоже может не быть ни одного атрибута, но скромно умолчал о том, что в этом отношении "имеется" только один кортеж.
Итак, навигация именно в "реляционной системе" невозможна в принципе (она возможна в некой надстройке, которая становится необходимой, - после извлечения данных из РБД). Она невозможна ни по "кортежам", ни в "индексах", ни по "связям". И "Р"СУБД плохо приспособлены для решения всех мыслимых задач, а не только тех, о которых говорит iscrafm (рассчитали бы уж сразу фактическую себестоимость "одним запросом", чтобы не мелочиться с "рюкзаками"). Потому что они не допускают пользователей к данным - они могут работать только с "представлениями", подготовленными и проинтерпретированными программистами.
Напомню так же, что в классической ОМД нет никаких "PK", "FK", "указателей", "ссылок" и нет ничего похожего на эти концепции. Действительно, в некоторых реализациях "с претензией на ОМД" (под определенным влиянием РМД) используются "ссылки" (хотя это, конечно, не то же самое, что PK) - либо только, либо наряду с явными связями. "Ссылки" - это связи интегрированные в объект и есть мнение, что использование ссылок "упрощает интерфейс" (ведь "ссылки" находятся среди других характеристик, и их, например, "проще ввести" при вводе нового экземпляра). Это, конечно, не так. "Удобный интерфейс" несложно реализуется и при явной поддержке связей (без их интеграции в объект).
мод пока так ничего и не понял.
ЗлОй тоже. Нужно тщательнее читать Хомского.
1 дек 06, 20:48    [3482137]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
мумия возращается... у всех ли хватит сил не отвечать?
1 дек 06, 20:57    [3482157]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
с128
Guest
Так что же модераторы бестолковые проглядели еще один IP?
Отвечать здесь просто некому пока.
Модератор: ты хочешь, чтоб всю подсеть OOO "Nachaljnyy element" заблокировали?
это можно...


Сообщение было отредактировано: 2 дек 06, 16:30
1 дек 06, 21:00    [3482165]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Зл0й
А зачем менять условия в Where? Я логику в духе "если в предшествующей записи (записях) X то в данной записи Y" могу реализовать с помощью аналитических функций. Например с помощью Sliding windows. В общем вместо того чтобы менять условие в WHERE я пишу все тоже самое через "накапливаемые" переменные.

да напишите уже. Не буду Вам мешать. Успехов.
1 дек 06, 22:04    [3482295]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Зл0й
SQL у Дэйта и Oracle SQL - это два разных SQL. То что верно для SQL описанного у Дэйта не обязательно верно для Oracle SQL. Хотя бы уже потому, что в Оракле я могу в запросе вызывать мною же написанную функцию которая может лезть в другие таблицы с запросами.

кроме Оракла есть другие субд, которые так же могут лезть в другие таблицы. Надеюсь новость не открыл.
1 дек 06, 22:06    [3482297]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67525
Блог
iscrafm
есть таблица потребностей
сырье, количество
Сырье в этой таблице не уникально, т.к. идет на разные заказы, допустим, и должно обрабатываться последовательно.

Есть таблица имеющихся в наличии запасов
сырье, количество.

в результате нужно для каждой записи из первой таблицы, подобрать записи из второй, количество в которых покрывает количество в первой.

Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 
Connected as test

SQL> create table resources (
  2    resource_id integer not null primary key,
  3    item_id integer not null,
  4    quantity integer not null ) ;

Table created

SQL> insert into resources
  2    select 1, 1, 20 from dual union all
  3    select 2, 1, 30 from dual union all
  4    select 3, 2, 40 from dual union all
  5    select 4, 1, 10 from dual union all
  6    select 5, 2, 20 from dual ;

5 rows inserted

SQL> create table requests (
  2    request_id integer not null primary key,
  3    item_id integer not null,
  4    quantity integer not null ) ;

Table created

SQL> insert into requests 
  2    select 1, 2, 20 from dual union all
  3    select 2, 1, 40 from dual union all
  4    select 3, 1, 15 from dual union all
  5    select 4, 2, 30 from dual union all
  6    select 5, 1, 100 from dual ;

4 rows inserted

SQL> with
  2    rs as ( select resource_id, item_id, quantity,
  3      sum ( quantity ) over ( partition by item_id order by resource_id rows unbounded preceding ) - quantity qnt_from,
  4      sum ( quantity ) over ( partition by item_id order by resource_id rows unbounded preceding ) qnt_to
  5      from resources ),
  6    rq as ( select request_id, item_id, quantity,
  7      sum ( quantity ) over ( partition by item_id order by request_id rows unbounded preceding ) - quantity qnt_from,
  8      sum ( quantity ) over ( partition by item_id order by request_id rows unbounded preceding ) qnt_to
  9      from requests ),
 10    posting as ( select
 11      row_number() over ( partition by request_id order by resource_id ) r#,
 12      rq.item_id,
 13      rq.request_id,
 14      rq.quantity,
 15      rs.resource_id,
 16      least ( rs.qnt_to, rq.qnt_to ) - greatest ( rs.qnt_from, rq.qnt_from ) qnt_gotten
 17      from rs, rq
 18      where rs.item_id = rq.item_id and
 19        ( rs.qnt_from between rq.qnt_from and rq.qnt_to or
 20          rs.qnt_to between rq.qnt_from and rq.qnt_to ))
 21  select
 22    case when r# = 1 then item_id else null end "Товар",
 23    case when r# = 1 then request_id else null end "Заявка",
 24    case when r# = 1 then quantity else null end "Кол-во требуется",
 25    case when r# = 1 then nullif ( quantity - sum ( qnt_gotten ) over ( partition by request_id ), 0 ) else null end "Дефицит",
 26    resource_id "Партия",
 27    qnt_gotten "Кол-во взять"
 28  from
 29    posting
 30  order by
 31    request_id, resource_id ;

          Товар          Заявка Кол-во требуется    Дефицит          Партия Кол-во взять
--------------- --------------- ---------------- ---------- --------------- ------------
              2               1               20                          3           20
              1               2               40                          1           20
                                                                          2           20
              1               3               15                          2           10
                                                                          4            5
              2               4               30                          3           20
                                                                          5           10
              1               5              100         95               4            5

8 rows selected
1 дек 06, 22:20    [3482314]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
iscrafm
есть таблица потребностей
сырье, количество
Сырье в этой таблице не уникально, т.к. идет на разные заказы, допустим, и должно обрабатываться последовательно.

create table product_requests 
(product_id number,
 request_id number,
 qty_required  number(38),
 constraint pk_product_requests primary key(product_id, request_id)
 );

  insert into product_requests (product_id, request_id, qty_required)
 values(1,1,100)
 ;

 insert into product_requests (product_id, request_id, qty_required)
 values(1,2,60)
 ;

commit
;

iscrafm

Есть таблица имеющихся в наличии запасов
сырье, количество.

 create table inventory 
(product_id number,
 batch_id number, 
 batch_qty number(38),
 constraint pk_inventory primary key(product_id, batch_id)
 );
  insert into inventory (product_id, batch_id, batch_qty)
 values(1,1,30)
;

 insert into inventory (product_id, batch_id, batch_qty)
 values(1,2,20)
;

 insert into inventory (product_id, batch_id, batch_qty)
 values(1,3,80)
;
commit
;


iscrafm
в результате нужно для каждой записи из первой таблицы, подобрать записи из второй, количество в которых покрывает количество в первой. Т.е. как на картинке выше. Только тот запрос не работает для такой (реальной кстати) ситуации.

 select p.request_id,
        p.product_id, 
        p.qty_required,
        i.batch_id,
		i.batch_qty,
		sum(i.batch_qty) over (partition by p.request_id, i.product_id order by p.request_id, i.product_id, i.batch_id) as rolling_inventory_total, 
        case when sum(i.batch_qty) over (partition by p.request_id, i.product_id order by p.request_id, i.product_id, i.batch_id) - p.qty_required <0		     
             then i.batch_qty			 
             else i.batch_qty + p.qty_required - sum(i.batch_qty) over (partition by p.request_id, i.product_id order by p.request_id, i.product_id, i.batch_id)	 
        end as rolling_qty,
        case when sum(i.batch_qty) over (partition by p.request_id, i.product_id order by p.request_id, i.product_id, i.batch_id) - p.qty_required <0 
		     then p.qty_required -  sum(i.batch_qty) over (partition by p.request_id, i.product_id order by p.request_id, i.product_id, i.batch_id)			 
             else 0 
        end as rolling_remainder  
   from product_requests p,
        inventory i
  where p.product_id=i.product_id
  order by request_id, product_id
;

Если я правильно вас понял то вам требуется ответ на вопрос "как мы можем удовлетворить имеющиеся альтернативные заявки". Альтернативные - значит что из двух выполняться будет только одна, т.е. требуется что-то вроде этого:
REQUEST_IDPRODUCT_IDQTY_REQUIREDBATCH_IDBATCH_QTYROLLING_INVENTORY_TOTALROLLING_QTYROLLING_REMAINDER
11100130303070
11100220502050
11100380130500
2160130303030
2160220502010
2160380130100


Если эта табличка вас не устраивает - киньте табличку которая опишет искомый результат. К сообщениям на данном форуме можно .csv прицепить. Попробую поправить запрос чтобы получить искромую таблицу. Могу например написать запрос при котором заявки не алтернативные т.е. количество сырья данного типа в каждой "пачке" будет "накапливаться" от заявки к заявке. Например если первая заявка забрала первую "пачку" то вторая заявка взять оттуда уже ничего не может. Вы этого хотите? Тоже можем сделать.
1 дек 06, 22:23    [3482317]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
c127
Guest
iscrafm
c127

Как решать на СКЛ-е Вашу задачу со складом Вам вроде продемонстрировали.

Еще пока не продемонстрировали, еще не поймут о чем речь вообще идет.

Так сформулируйте нормально условия.

iscrafm

Вот и Вам тот же вопрос: может ли одно SQL предложение (update...where) изменить условия в WHERE для последующих записей в зависимости от того, какие изменения произведутся в UPDATE на предыдущих? Или все таки декларация на то и декларация?

Вам раз сто уже объяснили, что в СКЛ запросе нет предыдущих и последующих записей, они могут быть только в смысле указанного пользователем (Вами в данном случае) порядка. Сформулируйте сначала задачу по-человечески, а то опять окажется, что случай Вам не интересен и Вы совсем не это имели в виду.

iscrafm
Нужна ручная навигация и она есть в РСУБД, только работает не с физическими объектами БД, а с выборкой.

Вы по-видимому выборкой называете курсор. Так это всего лишь список, который тоже множество, только заранее упорядоченное и с более удобными средствами работы с ним. Ничего принципиально нового по сравнению с таблицами нет, то же самое можно сделать с помощью СКЛ запросов, только это более сложно. Считайте что курсор это просто способ упрощения жизни.

Rus000
Не пойму зачем придумывать примеры - никто же не стал возражать насчет неполноты декларативного языка РСУБД. Кроме того, SQL -является подъязыком R полного языка D (в терминологии Дейта).

Это классический дейтовский СКЛ неполный, нынешние расширения может и полные. Как правильно сказали, СКЛ дейта сильно отличается от нынешних СКЛ-ей оракла, сайбейза и прочих.
2 дек 06, 00:25    [3482588]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
клон-дайк
Напомню. Из-за отсутствия идентификации в РМД (и в "Р"СУБД) (точнее в том числе и по этой причине) навигация в "реляционных системах" принципиально невозможна. И пользователи не могут работать с данными непосредственно. Нужно понять чем естественная идентификация
^obj(id)=ex

Если вам так сильно хочется лазать по узлам - в РУСБД всегда вернуть запрос в виде XML - и лазайте от нода к ноду на клиенте сколь душа пожелает.
2 дек 06, 07:15    [3482852]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 54 55 56 57 58 [59] 60 61 62 63 .. 106   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить