powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание хранимой процедуры с использование select
8 сообщений из 8, страница 1 из 1
Создание хранимой процедуры с использование select
    #39372138
s-muryy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Подскажите как в Oracle создать хранимую процедуру с запросом "select * from test". Чтобы при вызове процедуры выполнялся этот запрос, если можно то с объяснением. А то я только начинаю изучать oracle.
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39372149
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s-muryy,
за деньги и в институт. заодно научат правильно ставить задачу.
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39372167
помогу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s-muryy,

сделаю за деньги.
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39373001
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s-muryy,

Начните с того, что в процедуре не получится написать select, который никуда не складывает свой результат.

(у меня, в свое время именно это вызывало затыки)


Ну разве что, когда процедура должна вернуть не какой-то результат а открытый курсор - которым будет пользоваться тот кто вызвал данную процедуру.

Но раз Вы только начинаете изучать - то про курсоры не заморачивайтесь пока.

Просто вот что поймите.
например в консоле Вы можете вызвать
Код: plsql
1.
 select column1, column2 from table1

и увидеть результат.

В процедуре так не получится.

В самом простом случае, Вам придется объявить пару переменных (под каждое поле)
и вызвать

Код: plsql
1.
2.
3.
 select column1, column2 
  into   v1, v2
  from table1;




тогда в этих переменных окажутся значения из полей.

НО этот запрос изначально ошибочный, так как в случае, если в таблице более одной записи - он сломается. Так как селект вернет несколько записей, а в переменные же нельзя положить несколько записей :)


Можно в таком случае воспользоваться неявно открытым курсором:
это выйдет как бы цикл, который за одну итерацию даст доступ к данным одной строки

Код: plsql
1.
2.
3.
4.
5.
6.
for rec in (select column1, column2  from table1) loop

  dbms_output.put_line('column1: ' || rec.column1);
  dbms_output.put_line('column2: ' || rec.column2);

end loop;






А вообще, конечно же лучше найти какую-нибудь книжку для совсем чайников быстрого старта.
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39373059
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде все условия выполнены:
- хранимка
- выполняется запрос
- с объяснением

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create or replace function killme_proc return varchar2 is
l_sql varchar2(2000) := 'select * from dual';
l_str varchar2(1000);
begin
  l_sql := 'begin select ''Объяснение: выполнился запрос '||l_sql||''' s into :out from ('||l_sql||') where rownum = 1; end;';
  execute immediate l_sql using out l_str;
  return l_str;
end;
/

select killme_proc from dual;
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39373094
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,
Вы выполняете один запрос, а в в объяснении пишете, что другой
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39373096
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxiflyenv,
Вы выполняете один запрос, а в в объяснении пишете, что другой
А не, сорри, не доглядел.
...
Рейтинг: 0 / 0
Создание хранимой процедуры с использование select
    #39377805
s-muryy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за объяснение! Вроде разобрался.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание хранимой процедуры с использование select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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