Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5

ТЕМА:

Re: joined update в Oracle 12 года 9 мес. назад #2770

Я не совсем понял, а какой код кажется более громоздким, с for i in (select ...) или с явным объявлением курсора? ИМХО есть задачи, для решения которых лучше подходит один из вышеописанных медотов, есть задачи, где метод безразличен. К примеру, явный феч из задекларируемого курсора никогда не возвратит exception наподобе no_data_found или dup_val_on_index, и подчас выражения select ... into ... обертывают в такие конструкции, если подобные исключения следует игнорировать, по постановке задачи. Ну а код через for - это для "ленивых", поэтому сам часто им пользуюсь:)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: joined update в Oracle 12 года 9 мес. назад #2771

Я имею ввиду только это
declare

 cursor my_cur is 

    select b.object_code_4

         , b.analitic_id

    from v_metapos_saldo b

       , v_metadoc_saldo c

    where b.doc_id = c.id

      and a.obj_id = b.object_code_4

      and c.Number like 'X0-%' ; 

  

begin

  for i in my_cur loop   

   update invent_karta a set a.stoim_bux_id = i.nalitic_id 

     where a.obj_id = i.object_code_4;  

  end loop;

end;

/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: joined update в Oracle 12 года 9 мес. назад #2772

На мой взгляд, Oracle PL/SQL более формализован и требователен, нежели Sybase или MSSQL T-SQL, с которым пришлось работать. Конкретно- Sybase 11.9.2 и 12.0. Он него осталось впечатление этакого разгильдяйства, причем в хорошем смысле: объявление переменных где вздумается, да хотя бы просто select без указания "откуда".

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5
Время создания страницы: 0.330 секунд