![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
darkvivi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Всем доброго времени суток! Я сейчас пытаюсь понять тему Курсоры: что это вообще такое, почему оно используется и как оно упращает задачку, вот, на одном сайте нашёл код курсора
Этот код использует некую таблицу, а вот какую-не понятно, и что вообще делает курсор - тоже не понятно.. Пожалуйста, если можно, приведите готовый пример (+исходная таблица), Всем заранее спасибо! ![]() Это сообщение отредактировал(а) darkvivi - 10.6.2013, 18:54 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
курсор это хэндл на область памяти, в которой расположены данные. С помощью курсора осуществляется доступ к данным таблицы. В твоем примере открыается курсор для доступа к результату запроса "SELECT * FROM OFFICES". Затем данные в цикле построчно считываются в локальную структуру v_gt. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
darkvivi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.9.2008 Репутация: нет Всего: 1 |
Спасибо)
|
|||
|
||||
шКОДЕР |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.9.2013 Репутация: нет Всего: нет |
Вылезла куча ошибок: Line: 1 Error: PLS-00103: встретился символ ";" в то время как ожидалось одно из следующих: debug function pragma процедура subtype тип <идентификотор> Line: 5 Error: PLS-00103: Встретился символ "INTO", в то время как ожидалось одно из следующих: ( , * @ % & - + / Line: 15 Error: PLS-00103: Встретился символ "end-of-file", в то время как ожидалось одно из следующих ";" Line: 2 Error: Hint: Variable 'DECLARE' is declared but never used in 'in_dek' Line: 1 Error: Hint: Function 'in_dek' does not return a value не могу разобраться, помогите пожалуйста |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
В строке 1 неожиданно встретилось запяточие. Там его быть не должно. И declare после запяточия тоже не нужен. Добавлено @ 15:42 в пятой стоке встретилось into, которое тоже там не к месту
не хватает точки запятой в конце пятнадцатой строки функция от процедуры отличается тем, что таки должна возвращать значение Добавлено через 4 минуты и 4 секунды а пробовали? Это сообщение отредактировал(а) Zloxa - 26.9.2013, 15:43 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
шКОДЕР |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.9.2013 Репутация: нет Всего: нет |
весь день с этим кодом колупаюсь, кучу форумов облазил и мануалов начитался. Вроде все по образцу делал, а получилось "как всегда" |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
а надо было лишь почитать текст ошибок ![]() Это сообщение отредактировал(а) Zloxa - 26.9.2013, 16:00 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
шКОДЕР |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.9.2013 Репутация: нет Всего: нет |
Как устранить ошибки я в курсе, благо английски неплохо знаю. А вот как грамотную конструкцию подобрать для подобного запроса - в этом проблема. В Oracle новичок. есть таблица test_1, в ней колонка FLAG (значение либо 0, либо 1), нужно переместить все записи (а именно ФИО и ДАТУ) со значением FLAG=1 в таблицу messages в столбец TEXT, причем данные ФИО И Дата необходимо объединить |
|||
|
||||
шКОДЕР |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.9.2013 Репутация: нет Всего: нет |
С конструкцией запроса разобрался, но появилась еще одна ошибка в первой строке, компилятор ругается на входящий параметр
1. pls 00320: описание типа этого выражения незавершено или выполнено неверно
подскажите, как убрать косяк во входящем параметре? Это сообщение отредактировал(а) шКОДЕР - 27.9.2013, 10:26 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Здесь ожидается тип -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
шКОДЕР |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.9.2013 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |