Простой Oracle pl/sql ?

User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

Ой что творится, не ссорьтесь товарисчи специалисты пожалста!

Для товариша 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.
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
Leberecht
Уже с Приветом
Posts: 6888
Joined: 06 Jan 2010 07:13
Location: Miami Beach, FL

Re: Простой Oracle pl/sql ?

Post by Leberecht »

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
Ordnung muss sein!
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

Надо сделать 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
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

Ну да,

Спасибо !
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
Leberecht
Уже с Приветом
Posts: 6888
Joined: 06 Jan 2010 07:13
Location: Miami Beach, FL

Re: Простой Oracle pl/sql ?

Post by Leberecht »

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!
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

Да спасибо должно работать!
Надо проверить что быстрее.
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

А может кто знает, 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: 1486
Joined: 28 Aug 2008 17:34
Location: UT

Re: Простой Oracle pl/sql ?

Post by ПростоНик »

Напишите Korn Shell script ( ну не обязательно Korn) , где с помощью sqlplus запускаете Oracle stored proc.
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

А примерчик можно? и , если можно, с return parameter.

0 - success или 1- failure
чтобы етот код вoзврашал

Спасибо!
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
Leberecht
Уже с Приветом
Posts: 6888
Joined: 06 Jan 2010 07:13
Location: Miami Beach, FL

Re: Простой Oracle pl/sql ?

Post by Leberecht »

Помимо того, что в личке чирканул, вот ещё примерчик

Например, надо что-т там в базе данных поделать и в зависимости от исхода сообщить об успехе или провале.

Создаём 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

Вот и всё :gen1:
Ordnung muss sein!
User avatar
metaller
Уже с Приветом
Posts: 4532
Joined: 06 Jul 2011 12:22
Location: Oak Harbor, WA

Re: Простой Oracle pl/sql ?

Post by metaller »

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.
Вы на знаниях форумчан деньги делаете ? ;)
Я не хочу оплачивать ничьи аборты, велферы или детсады. Каждый должен сам принимать решения и нести за них ответственность.
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: Простой Oracle pl/sql ?

Post by Интеррапт »

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.
Вы на знаниях форумчан деньги делаете ? ;)
Ну в этом разделе многие задают вопросы, которые им нужны по работе, так что многие "на знаниях форумчан деньги делают". Вполне нормальная ситуация. Сегодня ты кому-то подскажешь, завтра тебе подскажут.
Leberecht
Уже с Приветом
Posts: 6888
Joined: 06 Jan 2010 07:13
Location: Miami Beach, FL

Re: Простой Oracle pl/sql ?

Post by Leberecht »

Ды мне чё, не жалко, сильно много времени не отняло.
Ordnung muss sein!
User avatar
APLY
Уже с Приветом
Posts: 291
Joined: 08 Jun 2007 03:38
Location: BOSTON

Re: Простой Oracle pl/sql ?

Post by APLY »

Leberecht
Спасибо большое, как раз то что надо!
На работе горю :)
В мире столько всего загадочного и непонятного!
и чем больше я занимаюсь боксом тем больше для меня загадочного и непонятного!
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: Простой Oracle pl/sql ?

Post by Albert_al »

oleg lebedev wrote:Помните, что если select затрагивает, как минимум 40% всех строчек из таблицы, то full scan может дать лучший результат
:nono#: :nono#: 10-15%
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!

Return to “Вопросы и новости IT”