powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / функция без PIPELINED
27 сообщений из 27, показаны все 2 страниц
функция без PIPELINED
    #39842039
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал написать функцию, которая возвращает таблицу, в 10g. Но замучился, нужно было какие-то мудрёные слова типа PIPELINED использовать. А в 12g написал сам, без обращения к документации, по наитию - и безо всяких PIPELINED. Это я мудрее стал или Oracle?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39842042
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бритва Оккама говорит, что дураков меньше не становится.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39842476
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor CookinЭто я мудрее стал или Oracle?
Это означает, что ни тогда, ни сейчас Вы не читали документацию.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39842764
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

Тогда читал, но как-то не пошло. Наверно как-то решил задачу по-другому. А вопрос остался - можно ли было в 10g сделать функцию, которая возвращала dataset, но не частями, а целиком, без PIPELINED
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39842794
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin вопрос остался - можно ли было в 10g сделать функцию, которая возвращала dataset, но не частями, а целиком, без PIPELINEDИменно только так и можно было делать в самом начале. Но чукча не читатель.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39843683
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Cookin, а где пример из 12g?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39843709
Фотография Victor Cookin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic,

Неужели интересно? Я так понял - это азы.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
CREATE OR REPLACE type MDHE.T_EST as object 
(
  ESTABLISHMENT_ID          NUMBER,
  EST VARCHAR2 (100 BYTE),
  EST_BUSINESS_NAME VARCHAR2 (100 BYTE), 
  PHONE                   VARCHAR2 (20 BYTE),
  ADDRESS_ID                NUMBER,
  INSPECTOR_ID              INTEGER,
  ESTABLISHMENT_LICENSE_ID  NUMBER,
  LICENSE_TYPE_CODE       VARCHAR2 (30 BYTE)
)

CREATE OR REPLACE type MDHE.TB_EST as table of t_est;

CREATE OR REPLACE function MDHE.FN_LIC_MM (CODE IN varchar2, STATUS IN varchar2, CLOSED IN integer) return tb_est 
PARALLEL_ENABLE --RESULT_CACHE 
IS
Result tb_est;
CODE1 varchar2(2000);  
STATUS1 varchar2(2000);  
nCODE integer;
sCODE integer;
begin
nCode := 1; sCode := 1; CODE1:= CODE; STATUS1:= STATUS;  
if INSTR(CODE, '-') = 1 then nCode := 0; CODE1 := SUBSTR (CODE,2); end if; 
if INSTR(STATUS, '-') = 1 then sCode := 0; STATUS1 := SUBSTR (STATUS,2); end if;
SELECT t_est (es.Establishment_id,
                   es.name, es.est_business_name, es.phone,
                   es.address_id,
                   es.inspector_id,
                   aa.establishment_LICENSE_id, aa.LICENSE_TYPE_CODE) bulk collect into result
  from (
select e.Establishment_id, LICENSE_TYPE_CODE, max(establishment_license_id) establishment_license_id 
              FROM establishment  e
                   JOIN establishment_license el
                       ON e.establishment_id = el.establishment_id
             WHERE 
             (((e.est_closed IS NULL) and (CLOSED = 0)) or (NOT(e.est_closed IS NULL) and (CLOSED <> 0)))  
and (((nCode=1) and (INSTR (','||CODE1||',',','||LICENSE_TYPE_CODE||',') > 0))
or   ((nCode=0) and (INSTR (','||CODE1||',',','||LICENSE_TYPE_CODE||',') = 0)))
group by e.establishment_id, LICENSE_TYPE_CODE) aa
join establishment es 
on aa.establishment_id = es.establishment_id
JOIN establishment_license esl
on aa.establishment_license_id = esl.establishment_license_id
where  (((sCode=1) and (INSTR (','||STATUS1||',',','||esl.status_code||',') > 0))
  or    ((sCode=0) and (INSTR (','||STATUS1||',',','||esl.status_code||',') = 0)));
  return(Result);
end FN_LIC_MM;
/



F_LIC_MM ('03','EXPIRED',0) will return 'BODY PIERCER' active establishments with last license marked as 'EXPIRED';

F_LIC_MM ('03,21,23,30,76,80', '-EXPIRED',0) will return all tattoo-like active establishments with last license other then 'EXPIRED'

F_LIC_MM ('-','-',0) will return last license for ALL active establishments.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39843996
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor CookinЯ так понял - это азы.
Собственно, так и есть.
https://docs.oracle.com/cd/B19306_01/appdev.102/b14289/dcitblfns.htm#ADDCI012
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911816
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, а есть ли принципиальная разница, возвращать результат с pipelined или без таковой?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911824
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
принципиальная разница
Напиши оба варианта и сравни текст.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911827
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
а есть ли принципиальная разница, возвращать результат с pipelined или без таковой?
21935672
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911830
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, а кроме флуда, по делу есть что сказать?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911833
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Elic, а кроме флуда, по делу есть что сказать?
Если ты разумен, то флуд начал ты сам.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911836
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-
Synoptic
принципиальная разница
Напиши оба варианта и сравни текст.
Я не про текст. Ясно понятно что текст будет разным. Я с позиции быстродействия.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911837
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Я с позиции быстродействия.
Т.е. ты совсем не понимаешь, что такое pipelined?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911840
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Ясно понятно что текст будет разным.
В императивном языке различия команд отражают разную суть выполняемых действий.
Synoptic
Я с позиции быстродействия.
Купи секундомер.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911843
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Synoptic
Я с позиции быстродействия.
Т.е. ты совсем не понимаешь, что такое pipelined?
Я использую pipelined не вдаваясь в подробности его работы. Отсюда и вопрос.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911844
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Я использую pipelined не вдаваясь в подробности его работы. Отсюда и вопрос.
Быдлоподход.
RTFM Overview of Table Functions (FAQ)
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911850
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Быдлоподход.
RTFM Overview of Table Functions (FAQ)
Быдло не быдло, но оно работает ))
За ссылку спасибо, стало понятно.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911851
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
За ссылку спасибо, стало понятно.
Т.е. ты говнокодил не изучив язык?!
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911862
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, тебе бы на курсы общения с людьми записаться, да дипломатию подтянуть ))
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911868
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Elic, тебе бы на курсы общения с людьми записаться, да дипломатию подтянуть ))
Разве тебе лично это поможет?
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911875
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Разве тебе лично это поможет?
У меня в этом нет необходимости, а вот для тебя польза будет колоссальной )
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911882
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
У меня в этом нет необходимости, а вот для тебя польза будет колоссальной
Ты бы лучше за профессионализм радел, болезный.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911885
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не волнуйся, у меня всё отлично )
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911937
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synoptic
Не волнуйся, у меня всё отлично
Мне-то пофигу, но только ты заблуждаешься.
...
Рейтинг: 0 / 0
функция без PIPELINED
    #39911980
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / функция без PIPELINED
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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