Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Native sql  [new]
ГостЪ
Guest
Оффициально execute immediate поодерживает строки до 32Kb, но вот так тоже работает

DECLARE
  V1 VARCHAR2(32767);
  V2 VARCHAR2(32767);
  x  NUMBER;
BEGIN
  FOR i IN 1 .. 1129 LOOP
    V1 := V1 || Chr(13) || 'union all select 1 from dual';
    V2 := V2 || Chr(13) || 'union all select 1 from dual';
  END LOOP;
  Dbms_Output.Put_Line('-> length(v1) ' || Length(V1));
  Dbms_Output.Put_Line('-> length(v2) ' || Length(V2));
  EXECUTE IMMEDIATE 'select count(*) as Cnt from (select 1 as a from dual' ||V1 || V2 ||')'
    INTO x;
END;

а так
  EXECUTE IMMEDIATE 'select count(*) as Cnta from (select 1 as a from dual' ||V1 || V2 ||')' 
уже падает.

т.е. получается, что максимуму 65535 байт, почему так?
19 окт 06, 19:40    [3284664]     Ответить | Цитировать Сообщить модератору
 Re: Native sql  [new]
Elic
Member

Откуда:
Сообщений: 30178
ГостЪ
Оффициально execute immediate поддерживает строки до 32Kb,
Эту цифру ещё надо выискать: RTFM DBMS_SQL package supports SQL statements larger than 32KB; native dynamic SQL does not. (FAQ)
ГостЪ
т.е. получается, что максимум 65535 байт,
Прикольно. Выходит, что так.
ГостЪ
почему так?
Почему за ту же цену нам продали вдвое больше? :)
19 окт 06, 20:42    [3284787]     Ответить | Цитировать Сообщить модератору
 Re: Native sql  [new]
ГостЪ
Guest
Elic
Почему за ту же цену нам продали вдвое больше? :)


мысль пришла только одна - внутренний буффер для конкатенации строк у оракла 64 кб, но доказательтв этмоу не нашёл:)
20 окт 06, 17:00    [3289768]     Ответить | Цитировать Сообщить модератору
 Re: Native sql  [new]
Mikst
Member

Откуда: Москва
Сообщений: 983
ГостЪ
Elic
Почему за ту же цену нам продали вдвое больше? :)


мысль пришла только одна - внутренний буффер для конкатенации строк у оракла 64 кб, но доказательтв этмоу не нашёл:)


Кто-то когда его создавал, вдруг вспомнил про Nchar ?
20 окт 06, 17:07    [3289829]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить