![]() |
|
Модераторы: LSD |
![]()
|
|
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Ммм.... Это да. Но условие where ведь дальше выстраиваться будет, значит так?
|
|||
|
||||
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: 12 Всего: 26 |
Мдя а вот тут проблема. Я предполагал, что будет одно статичекое условие и n динамических: щас вообще ерунда получается:
where and ..... Это надо исправлять. -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: 12 Всего: 26 |
Наверное так.
-------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
А, вот теперь я понял почему такая конструкция была
+1 вам в карму! Спасибо огромное за помощь, буду докручивать завтра, уже сегодня голова не варит. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
ToshaCh,
1) dbms_sql тут лишний, без него, ИМХО проще. 2) для того чтобы проверить наличие, считать count() это оверхед, достаточно лишь одного фетча
Это сообщение отредактировал(а) Zloxa - 19.6.2009, 10:46 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: 12 Всего: 26 |
О! Никогда не видел, чтобы курсор та компоновали (в смысле как строку). Спасибо.
-------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
А вот теперь нужен совет, потому что правила игры как оказалось уже изменились.
Оказалось, что таблицы разные и в основном они связаны друг с другом по айдишникам, что вполне понятно, ну конечно что же поле даты присутсвует только в одной из таблиц. По сути элементарная связаная выборка получается. Запросы будут меняться вероятно? В чём вопрос: как это всё хранить теперь? Создать одну таблицу с полями table_name и query_str, где хранить сами условия, и подставлять в цикле в шаблон
Или, возможно, есть смысл хранить толко названия полей, по которым связаны таблицы? Или есть какое мудрое решение и в тоже время гибкое? Это сообщение отредактировал(а) Castro - 27.5.2009, 11:41 |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Думаю так правильнее Любая гибкость достигается, как правило, за счет потери прочности. Я за железобетонные решения. По сему, я не рекомендовал бы хранить запросы в данных. В любом случае, при добавлении таблицы нужно писать запрос. Запрос должен писать программист, не пользователь. Меньше шансов ошибиться у программиста будет, если он будет редактировать текст ХП, которая, будет еще на этапе компиляции проверяться. От того бросайте вы это баловство с универсальными гибкими решениями, пракитика показывает, что ни к чему хорошему они не приводят. Автомобиль амфибия плохо ездиит и плохо плавает, от того их производят так мало и лишь по частным заказам. Это сообщение отредактировал(а) Zloxa - 27.5.2009, 12:48 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Castro |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Появилось вот время занятся сново с эти заданием и уже почти но всё ещё не всё
Вроде всё ок. Но помоему не приходит ничсего в курсор, потому что постоянно идёт вставка "has no data" и не может получить foo.time_info (мож там ксатати чёто с кавычками напутал). DBG - функция дебага, просто пишет в табличку переменную нужную. DBG('j: '||j.tname) вернуло правильно, DBG('cursor query: SELEC...) - тоже правильный запрос, который если скопировать из таблицы и выполнить, то выполнится правильно. Но
возвращает пустоту в таблице и соотвественно всегда срабатывает
Oracle не умеет работать со вложенными циклами? Или в чём может быить причина? Как ещё можно отдебажить курсор. Работаю в SQL Navigator и все приблуды c SQL * plus к сожалению не могу испытать (или не знаю просто как это сделать :(( ) |
||||||
|
|||||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Это не код это бред.
Должно поднимать эксепшн.
если попытаться выполнить это, тоже должен быть эксепшн. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| Castro |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
это бред - я это понял сразу, но эксепшна не вываливается. Как парвильно встать в таблицу содержмое курсора?
а что здесь не так? Это сообщение отредактировал(а) Castro - 19.6.2009, 10:09 |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
считай кавычки, ну или хотябы смотри на то как подсвечен синтаксис. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Castro |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: нет Всего: 5 |
Спасибо. Использовал Вашу процедуру, но она не успела отработать
Так, упростил всё что только можно.
В цикле делается один проход (в дебаге видны данные) и всё валится на строке
с ошибкой Error executing statement: ORA-06502: PL/SQL: numeric or value error Погуглил и нашёл что http://www.mydatabasesupport.com/ora-06502...alue-error.html Это попытка записать большой объём данных в переменную foo, больший чем оно может вместить? В смысле в DUAL не может влезть? Илия ошибаюсь? Как это побороть? |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
структура переменной foo не соответствует структуре, возвращенной курсором. Вы в переменную типа чар(1) пытаеесь впихнуть дату -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |