| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Хранимые процедуры с параметром |
| Автор: N1ko 1.7.2010, 11:03 |
| Здравствуйте. Я наверное не первый и не последний задаю этот вопрос: как в Oracle создать хранимую процедуру с параметром, которая будет возвращать набор строк? Если конкретно, то у меня есть много таблиц. Хочу написать процедуру, которая будет возвращать названия всех колонок в выбранной таблице (выбирается таблица по названию, определённому в параметре типа varchar2). Есть ли смысл писать птакую процедуру, или это можно сделать как то по другому? И насколько это вообще правильный подход? |
| Автор: LSD 1.7.2010, 12:41 | ||
Это называется словарь и через него можно получить любую информацию о базе. |
| Автор: N1ko 1.7.2010, 12:44 |
| Вопрос состоит в том, как это впихнуть в процедуру. Нужно что бы вместо 'TABLE_NAME_HERE' вписывался входящий параметр процедуры. |
| Автор: LSD 1.7.2010, 12:52 | ||
Прям так и писать:
|
| Автор: N1ko 1.7.2010, 12:55 |
| А как вызывать такую процедуру? Извините за глупые вопросы. В Оракле я пока полный ноль - всё время работал с SQL Server |
| Автор: LSD 1.7.2010, 12:59 |
| http://www.oradev.com/ref_cursor.jsp там в конце примеры для Java и PL/SQL. |
| Автор: N1ko 2.7.2010, 10:35 | ||||
Без параметра процедура хорошо работает. Спасибо за помощ. Теперь пытаюсь её вызвать с параметром. Что не так?
Ругается "Неверное имя, номер переменной". Вот сама процедура.
|
| Автор: N1ko 2.7.2010, 11:06 |
| Хм... Странно. Если её пытаюсь запустить по нажатию правой клавише-> "Test", выдаёт вышеупомянутую ошибку. Если из окна написания запросов, то прекраcно запускается. Пишу в PL/SQL Developer |
| Автор: ToshaCh 8.7.2010, 09:10 |
| Где ругается, в какой строке. Какое сообщение об ошибке. Пиши точнее. |