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

Откуда: Мск
Сообщений: 979
раз уж сегодня модно задавать вопросы про output спрошу и я:

вот нехитрый сценарий:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options

SQL> create table test_table (id integer primary key, val varchar2(1000));

Table created.

SQL> create materialized view test_mv as select * from test_table;

Materialized view created.

SQL> set serveroutput on
SQL>
SQL> DECLARE
  2     ddl_st   CLOB;
  3     l_offset  integer := 1;
  4  BEGIN
  5     DBMS_METADATA.set_transform_param (DBMS_METADATA.SESSION_TRANSFORM,
  6                                        'SQLTERMINATOR',
  7                                        TRUE);
  8     DBMS_METADATA.set_transform_param (DBMS_METADATA.SESSION_TRANSFORM,
  9                                        'STORAGE',
 10                                        FALSE);
 11         DBMS_METADATA.set_transform_param (DBMS_METADATA.SESSION_TRANSFORM,
 12                                           'SEGMENT_ATTRIBUTES',
 13                                           FALSE);
 14        --DBMS_OUTPUT.put_line (
 15        --   'drop materialized view ' || tab.table_name || ';');
 16        ddl_st := DBMS_METADATA.get_ddl ('MATERIALIZED_VIEW', 'TEST_MV');
 17          loop exit when l_offset > dbms_lob.getlength(ddl_st);
 18             DBMS_OUTPUT.PUT (dbms_lob.substr( ddl_st, 255, l_offset));
 19             l_offset := l_offset + 255;
 20          end loop;
 21        --DBMS_OUTPUT.put_line (ddl_st);
 22      DBMS_OUTPUT.put_line ('');
 23      DBMS_OUTPUT.put_line ('------------------------------------------');
 24  end;
 25  /

  CREATE MATERIALIZED VIEW "CM_REPORT"."TEST_MV" ("ID", "VAL")
  ORGANIZATION
HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING


TABLESPACE "CM_REPORT_DATA"
  BUILD IMMEDIATE
  USING INDEX PCTFREE 10 INITRANS
2 MAXTRANS 255
  REFRESH FORCE ON DEMAND
  WITH PRIMARY KEY USING DEFAULT LOCAL
ROLLBACK SEGMENT
  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
  AS SELECT
"TEST_TABLE"."ID" "ID","TEST_TABLE"."VAL" "VAL" FROM "TEST_TABLE" "TEST_TABLE";
------------------------------------------


вопрос такой - откуда эти дурацкие две пустые линии после NOCOMPRESS LOGGING ?
15 янв 13, 16:00    [13773107]     Ответить | Цитировать Сообщить модератору
 Re: чудесные пустые строчки при печати клоба  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Jonhson,

имхо, это к dbms_metadata вопрос..

ну а еще - начиная с 10.2 лимиты в dbms_output радикально выросли и, соответственно
(ублюдо)порции по 255 использовать - позор, просто
15 янв 13, 19:00    [13774423]     Ответить | Цитировать Сообщить модератору
 Re: чудесные пустые строчки при печати клоба  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
orawish
Jonhson,

имхо, это к dbms_metadata вопрос..

ну а еще - начиная с 10.2 лимиты в dbms_output радикально выросли и, соответственно
(ублюдо)порции по 255 использовать - позор, просто

да и аутпут тут просто не по делу.
select тот getddl from dual;
15 янв 13, 19:05    [13774431]     Ответить | Цитировать Сообщить модератору
 Re: чудесные пустые строчки при печати клоба  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
orawish,

да не сам то клоб в порядке... в тоаде же всегда правильно выводило. Пробелы были только в sqlplus.

проблема решилась тупо set linesize 30000
16 янв 13, 13:01    [13777492]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить