Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование PL/SQL внутри запроса, Возможно ли это? 
V
    Опции темы
ИгнатьевАлексей
Дата 6.12.2020, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Друзья, прошу подсказку!

Возможно ли использовать элементы PL\SQL таким образом, чтобы объявлять и использовать процедуры и функции внутри самого запроса.
В инете я нашел крайне скудную информацию, но до конца не разобрался.

Если ответ положительный, то  smile 

Заранее спасибо!


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
Romikgy
Дата 6.12.2020, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



все процедуры и функции  создаются и используются через запросы
Ваш вопрос не понятен ... ну и какой пример хотите так же.
Опишите что нужно и в чем проблема ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ИгнатьевАлексей
Дата 6.12.2020, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Romikgy
Я пытаюсь изучить язык PL/SQL. В учебниках пишут, что для работы с ним требуется открыть отдельную консоль и в ней работать.
Мне необходимо построить функцию с использованием операторов PL/SQL в тексте самого запроса, т.е. там, где я пишу SELECT...FROM...
Насколько я понял, если это возможно, то такую функцию надо объявлять при помощи оператора WITH.
Я пытался сделать простейший тест:
Код

WITH 

FUNCTION testProc() RETURN number is
  v_xValue number(9);
BEGIN
  v_xValue := 123;
  return v_xValue;
END;


SELECT testProc() FROM DUAL


Однако, не получается. Ошибка - ORA-00905: missing keyword

Подскажите новичку, пож-та, где я делаю ерунду!


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
Romikgy
Дата 8.12.2020, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 1
Всего: 146



Код

WITH 
FUNCTION testProc RETURN number is
  v_xValue number(9);
BEGIN
  v_xValue := 123;
  return v_xValue;
END;
SELECT testProc() FROM DUAL



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.1272 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.