Простой Oracle pl/sql ?
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
Ой что творится, не ссорьтесь товарисчи специалисты пожалста!
Для товариша Leberecht, идея понятна но как реализовать не совсем ясно.
Пожласта посмотрите не начальные условия, отличаестя от вашего примера:
columns like this:
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5,acct2, acct2_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5,acct1, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5, и т.д.
Всe в одной row.
Всeго 5 accounts i 5 properties for each account.
Обратите внимание all properties named differently. Как тут CASE организовать?
Leberecht,
Если можно , напишите код с испольванием етих конкретно данных.
Спасибо за идею все равно!
Для товариша Leberecht, идея понятна но как реализовать не совсем ясно.
Пожласта посмотрите не начальные условия, отличаестя от вашего примера:
columns like this:
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5,acct2, acct2_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5,acct1, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5, и т.д.
Всe в одной row.
Всeго 5 accounts i 5 properties for each account.
Обратите внимание all properties named differently. Как тут CASE организовать?
Leberecht,
Если можно , напишите код с испольванием етих конкретно данных.
Спасибо за идею все равно!
Last edited by APLY on 18 Feb 2013 16:21, edited 2 times in total.
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 6888
- Joined: 06 Jan 2010 07:13
- Location: Miami Beach, FL
Re: Простой Oracle pl/sql ?
APLY, Вам надо результат в каком виде получить?
Типа такого:
Account, Property
Accnt1, Acc1_Prop1
Accnt1, Acc1_Prop2
Accnt1, Acc1_Prop3
Accnt2, Acc1_Prop1
Accnt2, Acc1_Prop2
Accnt2, Acc1_Prop3
и т.д. ?
Пардон, Вы-ж в самом начале написали
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5
acct2, acct1_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5
acct3, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5
acct4, acct4_property1, acct4_property2,acct4_property3, acct4_property4, acct4_property5
acct5, acct5_property1, acct5_property2,acct5_property3, acct5_property4, acct5_property5
Типа такого:
Account, Property
Accnt1, Acc1_Prop1
Accnt1, Acc1_Prop2
Accnt1, Acc1_Prop3
Accnt2, Acc1_Prop1
Accnt2, Acc1_Prop2
Accnt2, Acc1_Prop3
и т.д. ?
Пардон, Вы-ж в самом начале написали
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5
acct2, acct1_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5
acct3, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5
acct4, acct4_property1, acct4_property2,acct4_property3, acct4_property4, acct4_property5
acct5, acct5_property1, acct5_property2,acct5_property3, acct5_property4, acct5_property5
Ordnung muss sein!
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
Надо сделать 5 rows :
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5
acct2, acct1_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5
acct3, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5
acct4, acct4_property1, acct4_property2,acct4_property3, acct4_property4, acct4_property5
acct5, acct5_property1, acct5_property2,acct5_property3, acct5_property4, acct5_property5
acct1, acct1_property1, acct1_property2,acct1_property3, acct1_property4, acct1_property5
acct2, acct1_property1, acct2_property2,acct2_property3, acct2_property4, acct2_property5
acct3, acct3_property1, acct3_property2,acct3_property3, acct3_property4, acct3_property5
acct4, acct4_property1, acct4_property2,acct4_property3, acct4_property4, acct4_property5
acct5, acct5_property1, acct5_property2,acct5_property3, acct5_property4, acct5_property5
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
Ну да,
Спасибо !
Спасибо !
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 6888
- Joined: 06 Jan 2010 07:13
- Location: Miami Beach, FL
Re: Простой Oracle pl/sql ?
voilà svp
Code: Select all
select case b.key when 1 then a.acct1 when 2 then a.acct2 when 3 then a.acct3 when 4 then a.acct4 when 5 then a.acct5 end as Account
,case b.key when 1 then a.acct1_property1 when 2 then a.acct2_property1 when 3 then a.acct3_property1 when 4 then a.acct4_property1 when 5 then a.acct5_property1 end as Property1
,case b.key when 1 then a.acct1_property2 when 2 then a.acct2_property2 when 3 then a.acct3_property2 when 4 then a.acct4_property2 when 5 then a.acct5_property2 end as Property2
,case b.key when 1 then a.acct1_property3 when 2 then a.acct2_property3 when 3 then a.acct3_property3 when 4 then a.acct4_property3 when 5 then a.acct5_property3 end as Property3
,case b.key when 1 then a.acct1_property4 when 2 then a.acct2_property4 when 3 then a.acct3_property4 when 4 then a.acct4_property4 when 5 then a.acct5_property4 end as Property4
,case b.key when 1 then a.acct1_property5 when 2 then a.acct2_property5 when 3 then a.acct3_property5 when 4 then a.acct4_property5 when 5 then a.acct5_property5 end as Property5
from YourVeryHugeTable a
cross join
(select 1 as key from dual
union
select 2 from dual
union
select 3 from dual
union
select 4 from dual
union
select 5 from dual) b
Ordnung muss sein!
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
Да спасибо должно работать!
Надо проверить что быстрее.
Надо проверить что быстрее.
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
А может кто знает, how to run Oracle stored proc (job) from the command line?
I need it to schedule and monitor with Autosys job.
I assume sqlplus is needed.
I need it to schedule and monitor with Autosys job.
I assume sqlplus is needed.
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 1486
- Joined: 28 Aug 2008 17:34
- Location: UT
Re: Простой Oracle pl/sql ?
Напишите Korn Shell script ( ну не обязательно Korn) , где с помощью sqlplus запускаете Oracle stored proc.
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
А примерчик можно? и , если можно, с return parameter.
0 - success или 1- failure
чтобы етот код вoзврашал
Спасибо!
0 - success или 1- failure
чтобы етот код вoзврашал
Спасибо!
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 6888
- Joined: 06 Jan 2010 07:13
- Location: Miami Beach, FL
Re: Простой Oracle pl/sql ?
Помимо того, что в личке чирканул, вот ещё примерчик
Например, надо что-т там в базе данных поделать и в зависимости от исхода сообщить об успехе или провале.
Создаём SQL файлик, где ровно все свои запросики или вызовы хранимых процедур и записываем.
В том месте, когда скрипт "выаснил", что всё радужно и пора завершаться, пишем для SQLPLUSа команду QUIT SUCCESS или EXIT SUCCESS.
Ежли пора завершаться с позорным провалом - QUIT FAILURE. Можно даже с упреждением завершиться, типа EXIT WARNING.
ОК, файл (let's call it YourFile.sql) создан, теперь его исполняем вот так
sqlplus user/password@hostname:port/SID @YourFile.sql (Само собой, вместо hostname:port/SID можно попросту TNSNAME врисовать)
Конечно-же можно адресовать аутпут в какой-нить другой тн ЛОГ файлик с помощью >SomeLogFile.txt
Kомандочку енту и загоням в AUTOSYS JIL файл.
Он будет выглядеть примерно так:
insert_job: YOUR_JOB_NAME
job_type: c
command: sqlplus user/password@hostname:port/SID @/folder/YourFile.sql
machine: YOUR_SERVER_NAME
owner: user@domain
permission: gx,wx,mx,me
days_of_week: all
start_times: "15:00, 14:00"
description: "Whatever you decide to write about it"
alarm_if_fail: 1
max_exit_success: 1
Вот и всё
Например, надо что-т там в базе данных поделать и в зависимости от исхода сообщить об успехе или провале.
Создаём SQL файлик, где ровно все свои запросики или вызовы хранимых процедур и записываем.
В том месте, когда скрипт "выаснил", что всё радужно и пора завершаться, пишем для SQLPLUSа команду QUIT SUCCESS или EXIT SUCCESS.
Ежли пора завершаться с позорным провалом - QUIT FAILURE. Можно даже с упреждением завершиться, типа EXIT WARNING.
ОК, файл (let's call it YourFile.sql) создан, теперь его исполняем вот так
sqlplus user/password@hostname:port/SID @YourFile.sql (Само собой, вместо hostname:port/SID можно попросту TNSNAME врисовать)
Конечно-же можно адресовать аутпут в какой-нить другой тн ЛОГ файлик с помощью >SomeLogFile.txt
Kомандочку енту и загоням в AUTOSYS JIL файл.
Он будет выглядеть примерно так:
insert_job: YOUR_JOB_NAME
job_type: c
command: sqlplus user/password@hostname:port/SID @/folder/YourFile.sql
machine: YOUR_SERVER_NAME
owner: user@domain
permission: gx,wx,mx,me
days_of_week: all
start_times: "15:00, 14:00"
description: "Whatever you decide to write about it"
alarm_if_fail: 1
max_exit_success: 1
Вот и всё

Ordnung muss sein!
-
- Уже с Приветом
- Posts: 4532
- Joined: 06 Jul 2011 12:22
- Location: Oak Harbor, WA
Re: Простой Oracle pl/sql ?
Вы на знаниях форумчан деньги делаете ?APLY wrote:А может кто знает, how to run Oracle stored proc (job) from the command line?
I need it to schedule and monitor with Autosys job.
I assume sqlplus is needed.

Я не хочу оплачивать ничьи аборты, велферы или детсады. Каждый должен сам принимать решения и нести за них ответственность.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Простой Oracle pl/sql ?
Ну в этом разделе многие задают вопросы, которые им нужны по работе, так что многие "на знаниях форумчан деньги делают". Вполне нормальная ситуация. Сегодня ты кому-то подскажешь, завтра тебе подскажут.metaller wrote:Вы на знаниях форумчан деньги делаете ?APLY wrote:А может кто знает, how to run Oracle stored proc (job) from the command line?
I need it to schedule and monitor with Autosys job.
I assume sqlplus is needed.
-
- Уже с Приветом
- Posts: 6888
- Joined: 06 Jan 2010 07:13
- Location: Miami Beach, FL
-
- Уже с Приветом
- Posts: 291
- Joined: 08 Jun 2007 03:38
- Location: BOSTON
Re: Простой Oracle pl/sql ?
Leberecht
Спасибо большое, как раз то что надо!
На работе горю
Спасибо большое, как раз то что надо!
На работе горю

В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
-
- Уже с Приветом
- Posts: 2305
- Joined: 14 Apr 1999 09:01
- Location: Ural->CA
Re: Простой Oracle pl/sql ?
oleg lebedev wrote:Помните, что если select затрагивает, как минимум 40% всех строчек из таблицы, то full scan может дать лучший результат


Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!