| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Курсор и Oracle 11g |
| Автор: darkvivi 10.6.2013, 18:31 | ||
Всем доброго времени суток! Я сейчас пытаюсь понять тему Курсоры: что это вообще такое, почему оно используется и как оно упращает задачку, вот, на одном сайте нашёл код курсора
Этот код использует некую таблицу, а вот какую-не понятно, и что вообще делает курсор - тоже не понятно.. Пожалуйста, если можно, приведите готовый пример (+исходная таблица), Всем заранее спасибо! |
| Автор: Zloxa 11.6.2013, 01:48 |
курсор это хэндл на область памяти, в которой расположены данные. С помощью курсора осуществляется доступ к данным таблицы. В твоем примере открыается курсор для доступа к результату запроса "SELECT * FROM OFFICES". Затем данные в цикле построчно считываются в локальную структуру v_gt. |
| Автор: darkvivi 11.6.2013, 19:02 |
| Спасибо) |
| Автор: шКОДЕР 26.9.2013, 15:29 | ||
Вылезла куча ошибок: 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 не могу разобраться, помогите пожалуйста |
| Автор: шКОДЕР 26.9.2013, 15:47 | ||
весь день с этим кодом колупаюсь, кучу форумов облазил и мануалов начитался. Вроде все по образцу делал, а получилось "как всегда" |
| Автор: Zloxa 26.9.2013, 16:00 |
а надо было лишь почитать текст ошибок |
| Автор: шКОДЕР 27.9.2013, 07:32 | ||
Как устранить ошибки я в курсе, благо английски неплохо знаю. А вот как грамотную конструкцию подобрать для подобного запроса - в этом проблема. В Oracle новичок. есть таблица test_1, в ней колонка FLAG (значение либо 0, либо 1), нужно переместить все записи (а именно ФИО и ДАТУ) со значением FLAG=1 в таблицу messages в столбец TEXT, причем данные ФИО И Дата необходимо объединить |
| Автор: шКОДЕР 27.9.2013, 10:14 | ||
| С конструкцией запроса разобрался, но появилась еще одна ошибка в первой строке, компилятор ругается на входящий параметр 1. pls 00320: описание типа этого выражения незавершено или выполнено неверно
подскажите, как убрать косяк во входящем параметре? |
| Автор: Zloxa 27.9.2013, 12:34 |
Здесь ожидается тип |
| Автор: шКОДЕР 27.9.2013, 12:51 | ||
FUNCTION in_dek(flag In number) RETURN varchar2 IS Спасибо. Заработало |