powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывод записывающей функции в селект
15 сообщений из 15, страница 1 из 1
Вывод записывающей функции в селект
    #39400272
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добры день, хотелось бы узнать, можно ли представить функцию в селекте для к каждого id.
Функция формируется по след. параметрам.
Код: plsql
1.
2.
:= rms_.act_number(v_creation_date => :v_creation_date,
                             v_number_within_day => :v_number_within_day);

Функция вернет значение типа А170715-153
Можно ли данное значение увидеть на выходе в выборке? Если да, то как? Заранее спасибо.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400307
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector,

Код: plaintext
select your_package.your_function('value') as column_name from dual
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400326
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,

Спасибо большое. Не очень понятно, что понимается под "Value". Функция формируется 2 значениями, в селекте я их не знаю (примерно 700 строк отсортированных по определенным параметрам значений).
В идеале хочется не отображать поля, которые содержит функция, а вывести id-функция.
Пример
124142115||А130993-115
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400338
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create or replace function killme_func(i_var1 number, i_var2 varchar2) return varchar2
is
l_str varchar2(30);
begin
  select dbms_random.string('p',30) into l_str from dual where 1=1 or (dummy = i_var2||to_char(i_var1));
  return l_str;
end;
/

with t (id,str) as (select 1, 'some'    from dual union all
                    select 2, 'awesome' from dual)
select id, str, id||'||'||killme_func(id,str) s 
from t
/




Как же велико желание получить результат не прикладывая никаких усилий......
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400358
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector,

вы сначала определитесь, что именно хотите сделать.
"вывести" - это не есть функциональность СУБД.

вот более другой пример:
Код: plsql
1.
select concat(object_id, object_name) as column_name from all_objects order by object_id
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400367
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

Следующим шагом пациент скажет, что у него десятка и синтаксис "=>" работает в PL/SQL, а в SQL - нет. :))
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400572
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,
Спасибо за пример, но это не подойдет. Функция уже сформирована. Как я понимаю, она осуществляет генерацию номера.
Тот же самый номер хотелось увидеть в селекте на вывод. Так как в интерфейсе все предствалено ввиде номера, а в таблицах записывается только id.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400577
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,
Я давно определился :) Пример с dual подходил идеально. Просто не было понятно, что записать в "Value", так как дата создания и длительность дней, которые использует функция, разные.
Как я понимаю, нужно передать что-то вроде этого
Код: plsql
1.
select rms_.act_number(to_date('22.11.2016 17:17:54', 'DD.MM.YYYY HH24:mi:ss'),154435096) from dual


Только не понятно, как это сделать для 700 разных дат и id.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400578
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshop,
Не стоит утрировать. Я четко понимаю, что необходимо. Вот реализация хромает.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400593
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReflectorФункция формируется 2 значениями, в селекте я их не знаю (примерно 700 строкА кто знает? Невозможно получить нечто из ничего.
ReflectorЯ четко понимаю, что необходимо. http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400621
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
Прочитайте выше. Я знаю значения, которыми будет сформирован один номер. Хочу тоже самое сделать для 700 других значений, в которых тоже есть и дата создания и длительность. Но вывод значений хаотичен(точнее он зависит от id). Как сделать так, чтобы на выходе для уникального id данная функция считывала параметры из таблицы и на выводе выдала номер, который необходим. Не генерировала бы № 1 к 1, а выдала номера для всех id, присутствующих в выгрузке.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400628
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector,

Сударь, вам уже дали ответ.
Возможность его понять ограничена исключительно шорами вашего разума.
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400630
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM не прочитан.

Кто мешает сделать так и задать вопрос? Никто, кроме собственной лени. И выпытывать у вас, что же именно вам нужно, никакого интереса нет.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> create function func(id number) return number as
  2  begin
  3    return power(10, id);
  4  end;
  5  /
Function created
SQL> with t as
  2       ( select 1 id from dual union all
  3         select 2 from dual union all
  4         select 3 from dual
  5       )
  6  select t.id, func(t.id) from t;
        ID FUNC(T.ID)
---------- ----------
         1         10
         2        100
         3       1000

SQL> 
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400631
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReflectorПрочитайте выше.Учись задавать вопросы. Твой поток сознания не помогает нам помочь тебе.
Reflectorфункция считывала параметры из таблицыТы не умеешь в запросе вызывать функции?
...
Рейтинг: 0 / 0
Вывод записывающей функции в селект
    #39400645
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, извините за сумбурность:) Я истинный деградант
Код: plsql
1.
select rms_.act_number(v_creation_date => a.creation_date, v_number_within_day => a.number_within_day)


Это все, что требовалось. Как-то слишком я завернул вопрос у себя в голове.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывод записывающей функции в селект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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