powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос по неизвестному столбцу
42 сообщений из 42, показаны все 2 страниц
Запрос по неизвестному столбцу
    #32148773
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица. В ней первых да столбца - известны, остальные - добавляются каждый день и содержат в своем названии дату: TEST(id number, name char, g11_04_03, g12_04_03, и пр.)
Необходимо сделать запрос, который возвращал бы значения одного из столбцов с датой в названии.
Я пишу:
Код: plaintext
1.
2.
select 'g'||to_char(sysdate- 2 ,'DD_MM_YY') as moja_data
from TEST

Возвращает мне, разумеется, g23_04_03 в каждой строке.
Подскажите, если знаете.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148779
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А таблицу перепроектировать не думали? Может что-то в университете не так? )
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148780
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда она разрастется до размеров вселенской катастрофы (((

ЗЫ. Но уже думаем...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148781
no name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Класс :))
а зачем так?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148786
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А количество столбцов в Оракле разве не ограничено?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148789
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что зачем? Зачем вообще все это нужно? Начальство сказало что барсук - птица, значит полетит...

Я подсчитала. С другой структурой эта таблица за 10 дней станет размером 7500000 записей. Эээх...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148799
no name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если партиции пользовать, либо на худой конец новые таблы создавать?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148801
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ORA -01792 maximum number of column in table or view is 1000.

После 1000 ты что делать будешь?. Думать начнешь ?

Ты скажи какая у тебя задача. Народ подумает и придумает как сделать.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148807
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оригинальное решение! А если так редизайнить?


Код: plaintext
1.
2.
3.
4.
5.
6.
TEST(id number, name char)

HISTORY(test_id, date, text) - /test_id FK/

а потом обращаться 

select text from HISTORY where date=...


ну итп.?

Не уже ли, это решение хуже чем добавление столбцов каждый день? Вообще вроде добавление столбцов когда уже много данных вроде как "портит" базу помаленьку.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148808
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, тут всяко через динамический SQL придется идти. Вопрос- в каком виде надо получить данные: refcursor, resultset, еще как? А 7500000 записей- подумаешь, а сколько из них отбираться будут?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148810
no name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну если очень хочется то нужно почитать доку про NATIVE DYNAMIC SQL
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148819
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня нет доки по NATIVE DYNAMIC SQL и не предвидится (

Отбирать буду из 7,5 млн записей примерно в пять раз меньше. (может больше, чем в пять раз меньше)

А про кол-во столбцов спасибо, не знала. Вывалилась бы ошибка на самом интересном месте )))
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148829
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aphina . Если ты хочешь грамотно воспользоваться умом и опытом других людей, то все-таки объясни задачу!

Ты почему это упорно не хочешь делать
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148831
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В одной табличке данные каждый день разные. И нач-во хочет видеть отчет по этим данным за любой день, который захочет.
Поэтому я записываю эти данные в табличку, для этого добавляя каждый день по столбцу с датой в названии.
Конечным результатом должен быть запрос по этой табличке, выводящий данные за дату.
Есть еще вариант - считать это значение. Брать несколько таблиц и считать, сколько убыло и сколько прибыло на определенную дату. Долго.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148842
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. ИМХО можно подумать о партициях.
2. Materialized View c Fast Refresh - в конце дня единожды обновляется. Это если получится.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148843
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит, отменили where в запросах начальственным приказом...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148846
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Aphina: Ничего не долго. Индекс тебя спасёт. Секционирование, опять же. Изменять структуру таблицы "на лету" категорически не надо. Иначе - мучительная смерть (см. /topic/29628, подробности можно адаптировать в зависимости от пола)
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148848
Angel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А бывает и наоборот:
В таблице хранятся данные о 10 сотрудниках: 10 столбцов, 20 строк. Вот придет еще один, надо будет столбец добавлять, а как иначе ?

2 Aphina

Может все же поделишься структурой данных и требуемыми отчетами.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148849
no name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда вам нужно почитать фундаментальную литературу - про методы декомпозиции, типа метод ER-диаграмм. Ваша таблица похожа на универсальное отношение
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148859
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты:В одной табличке данные каждый день разные.
Я: ну и добавь туда поле SYS_DATE
и получиться что у тебя и данные всегда разные. И история есть
select *
from TEST
where SYS_DATE = to_date('01/01/2002','dd/mm/yyy')
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148866
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Абалдеть...
Киньте наконец ссылку, где почитать про NATIVE DYNAMIC SQL и "методы декомпозиции"

Задача.
Есть в магазине большое (50 тыс шт.) кол-во единиц продукции. По каждому из них есть в табличке остатков своя цифирька - текущий остаток на данный момент времени. Эта цифра меняется, когда приходят накладные (то прибавляем), когда возвращается товар поставщику (тогда вычитаем), когда удалось продать (вычитаем) и когда покупатель это вернул (снова прибавляем). И получем эту цифирьку. Для того, чтоб узнать циыирьку на какое-нить давнишнее число нужно прибавить и отнять все эти документы, начиная с текущей даты по заданную. Запросом - долго... Т.к. это только часть здорового запроса, а таких должно быть два (остаток на начало и на конец заданного периода), то время еще увеличивается в разы.

Ну, УМЫ, что подскажете? )
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148869
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148870
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Да, кстати, таблицы МЕНЯТЬ я не имею права, не мои они. Хоть и могу поменять, и руки чешутся.

2. Разработчики всей этой красоты, по которой нужно делать отчет, сделали в самых больших таблицах индексы по текстовым полям... Чего то я в этой жизни явно не понимаю...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148879
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача твоя довольна стандартная. Пример такой же задачи - остаток по счету клиента.

Есть еще к тебе пару вопросов.

Возможно ли обновление этого остатка с нескольких рабочих мест?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148881
Angel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в лоб.
Абстрактно таблицы:
Документ (..., дата, ид_товара, знак, кол-во, ...)
Остаток(ид_товара, дата, кол-во)

Соответственно, в таблицу документов вставляются документы. По триггерам на вставку, обновление, удаление обновляются остатки в таблице остатков.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148884
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пузырек: Конечно возможно. Несколько пользователей заводят приходные накладные, остаток товара на складе тут же меняется.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148888
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ангел, ты абсолютно прав. Именно так все и происходит.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148893
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Angel.

Как быть в такой ситуации

1) Пользователь добавил документ. Пошел в тригерах значит Updaet на остаток. Пользователь изменения еще не закоммител.

2 ) Пользователь 2 вставляет тот же товар. Он будет ждать когда первый нажмет коммит?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148901
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пузырек, проблема не в этом. Все отлажено и давным давно работает. И корректно считается. Сначала один пользователь, потом другой. Не нужно это обсуждать...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148918
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это тебе кажеться, что работает. Мы то это уже проходили. При интенсивном update система повиснет. Или потом он сходиться не будет с остатками посчитанными по документу. Будут "оторванные" документы появляться.

Я на обед сейчас пойду. Приду напишу как я вижу решение
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148923
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Накладные печатают несколько операторов. Потом их ПО ОЧЕРЕДИ принимает старший оператор (тогда тригер и срабатывает). Здесь не может быть глюка.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148927
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Есть таблица. В ней первых да столбца - известны, остальные - добавляются каждый день и "

Дебилизм. Как только народ в обсуждение этого втягивается.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148958
Dick Gonsales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял что твоя основаная проблема в том, что тебе надо получать
отчет по движению товаров за интервал времени, а он отрабатывает
ну очень долго.....
Я эту задачу решил в свое время так.
Создается таблица
<код товара>
<дата остатка>
<дата следующего движения>
<остаток>
в которую вносятся остатки для товаров по которым было движение
за текущую дату

при этом для последнего движения товара
<дата следующего движения> = '01-01-2999'

Дополняешь ты ее по концу рабочего дня.

соответственно остаток на дату
Код: plaintext
1.
2.
3.
 select <код товара>, <остаток>
 from <таблица>
 where <дата остатка> <= 'ДАТА' 
          and 'ДАТА' < <дата следующего движения> 


Вообще конечно целезообразней хранить
не только остаток, но и сумму по приходу и расходу за день,
тогда имеет смысл еще добавить поле <дата предидущего движения>
соответственно для первого движения по товару это '01-01-1900' ,
но вообщем сам смысл не меняется
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148967
Dick Gonsales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To softbuilder@inbox.ru
а разве тебе не приходилось решать подобную задачу которая стоит перед Aphina ? Я имею ввиду сохранение проводок, баланса, и потом построение по ним отчетов. А не добовление колонок, про колонки это точно бред...
Но задача та в другом )).
Если делать как большинство а именно:
Баланс
дата - счет - остаток

Проводки
дата - счет - сумма

то для построение отчета движения за период с Дата по Дата вида
Начало Приход Расход Конец
счет сумма сумма сумма сумма

Люди строят сумашедшие запросы
Я вот видел массу решений и в банках и больших торговых компаниях,
Которое я предложил самое удачно которое я видел...
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148987
Пузырек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 softbuilder@inbox.ru .

Людям помогать надо

2 Dick Gonsales.

Согласен с тобой. Какая у Вас АБС стоит если не секрет?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32148990
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за спокойный мудрый совет! Вот что значит опыт. Так и сделаю.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149007
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я конечно жутко извиняюсь, но что значит АБС?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149017
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..н-да,
посоветуй рук-ву переход на 1С 7.7 на бд mssql7
обьемы операций по 50000 тов. позиций там
решаются довольно легко
--
а программеров таких ораклевых посадить в виде наказания
на кодирование на русском языке в среде 1С :)
--
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149029
Aphina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно. Не буду портить настроение ВЕЛИКИМ ОРАКЛОИДАМ.

На мой вопрос мне ответили.
Всем пока! Ответившим - спасибо!! А Пузырьку вдвойне спасибо - за заботу и понимание )))
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149054
Ekuku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.. жаль ..сабж смешной
только без обид - ладно ?
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149118
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБС - анти-блокировочная система полезная вещь по жизни.
...
Рейтинг: 0 / 0
Запрос по неизвестному столбцу
    #32149489
Lass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята А-фигеть!
если мы и дальше бум так умело проектировать....
Девушка!! вы не пробовали что-нибудь почитать про базы данных??
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос по неизвестному столбцу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]