Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 что быстрее  [new]
aftor
Guest
что быстрее работать будет, какая структруа?

select from select

   function f_fobudget_exists_yn (in_glBP_oid t_GLFOBudget.GLBUDGETEDPROGRAM_OID%type) return varchar2
   is
     v_result varchar2(1) := 'N';
   begin
     select 'Y'
       into v_result
       from dual
      where exists
            (select GLFOBUDGET_OID
               from GLFOBUDGET
              where GLBUDGETEDPROGRAM_OID = in_glBP_oid);
     return v_result;
   end f_fobudget_exists_yn;
   

или обработка exception
  function f_fobudget_exists_yn (in_glBP_oid t_GLFOBudget.GLBUDGETEDPROGRAM_OID%type) return varchar2
   is
     v_result t_GLFOBudget.GLFOBUDGETED_OID%type;
   begin
     select GLFOBUDGETED_OID
       into v_result
       from GLFOBUDGET
      where GLBUDGETEDPROGRAM_OID = in_glBP_oid;
      
      return 'Y';
   exception
     when no_data_found then
       return 'N'
   end f_fobudget_exists_yn;
24 авг 07, 20:16    [4574514]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6917
EXCEPTION должен работать медленее, хотя недавно в одной теме что-то было это незаметно
24 авг 07, 20:20    [4574523]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
Elic
Member

Откуда:
Сообщений: 29991
aftor
что быстрее работать будет
Без исключений.
24 авг 07, 20:21    [4574524]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
aftor
что быстрее работать будет, какая структруа?


Think what will happen to your first function if

exists
            (select GLFOBUDGET_OID
               from GLFOBUDGET
              where GLBUDGETEDPROGRAM_OID = in_glBP_oid)

is FALSE?

SY.
24 авг 07, 20:24    [4574533]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
aftor
Guest
только что вспомнил слова Кайта..
если можно написать только используя sql используйте
если нет то pl/sql
и так далее java и прочее
24 авг 07, 20:26    [4574535]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
aftor
Guest
SY
aftor
что быстрее работать будет, какая структруа?


Think what will happen to your first function if

exists
            (select GLFOBUDGET_OID
               from GLFOBUDGET
              where GLBUDGETEDPROGRAM_OID = in_glBP_oid)

is FALSE?

SY.


null.... хм...
24 авг 07, 20:36    [4574553]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
Elic
Member

Откуда:
Сообщений: 29991
aftor
SY
Think what will happen
null.... хм...
Ответ верный наполовину.
24 авг 07, 20:38    [4574558]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
aftor
Guest
Elic
aftor
SY
Think what will happen
null.... хм...
Ответ верный наполовину.


+ exception
24 авг 07, 20:40    [4574562]     Ответить | Цитировать Сообщить модератору
 Re: что быстрее  [new]
Elic
Member

Откуда:
Сообщений: 29991
aftor
+ exception
Это взаимоисключающие события. Случится только одно из двух.
24 авг 07, 20:51    [4574598]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить