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

Откуда:
Сообщений: 360
DECLARE
   cur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
   cols DBMS_SQL.DESC_TAB;
   ncols PLS_INTEGER;
   l_html varchar2(1000);
BEGIN
   -- Разбор запроса 
   DBMS_SQL.PARSE (cur, 'SELECT hire_date, salary FROM employees', DBMS_SQL.NATIVE);
   -- Получение информации о столбцах
   DBMS_SQL.DESCRIBE_COLUMNS (cur, ncols, cols);
   -- Вывод каждого из имен столбцов
   FOR colind IN 1 .. ncols
   LOOP
      DBMS_OUTPUT.PUT_LINE (cols (colind).col_name);
   END LOOP;
   DBMS_SQL.CLOSE_CURSOR (cur);
END;



В результате выводятся имена колонок
Подскажите как добавить конкатенацию к названию каждой колонки
Пробовал вот так не вышло
LOOP
l_html:= l_html || cols (colind).col_name || '</th>'
END LOOP;'
13 янв 21, 16:30    [22262781]     Ответить | Цитировать Сообщить модератору
 Re: DBMS_SQL  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9316
Что именно не вышло?

Подозреваю добавить ';' в конце команды )))

DECLARE
   cur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
   cols DBMS_SQL.DESC_TAB;
   ncols PLS_INTEGER;
   l_html varchar2(1000);
BEGIN
   -- Разбор запроса 
   DBMS_SQL.PARSE (cur, 'SELECT dummy as hire_date, dummy as salary FROM dual', DBMS_SQL.NATIVE);
   -- Получение информации о столбцах
   DBMS_SQL.DESCRIBE_COLUMNS (cur, ncols, cols);
   -- Вывод каждого из имен столбцов
   l_html := '';
   FOR colind IN 1 .. ncols
   LOOP
     l_html:= l_html || cols (colind).col_name || '</th>';
   END LOOP;
   dbms_output.put_line( l_html );
   DBMS_SQL.CLOSE_CURSOR (cur);
END;
13 янв 21, 16:36    [22262784]     Ответить | Цитировать Сообщить модератору
 Re: DBMS_SQL  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2908
x17.mstu,
DECLARE
   cur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
   cols DBMS_SQL.DESC_TAB;
   ncols PLS_INTEGER;
   l_html varchar2(1000);
BEGIN
   -- Разбор запроса
   DBMS_SQL.PARSE (cur, 'SELECT hire_date, salary FROM employees', DBMS_SQL.NATIVE);
   -- Получение информации о столбцах
   DBMS_SQL.DESCRIBE_COLUMNS (cur, ncols, cols);
   -- Вывод каждого из имен столбцов
   l_html:='<table border="1"><tr>';
   FOR colind IN 1 .. ncols
   LOOP
      --DBMS_OUTPUT.PUT_LINE (cols (colind).col_name);
      l_html:=l_html||'<th>'||cols (colind).col_name||'</th>';
   END LOOP;
   DBMS_SQL.CLOSE_CURSOR (cur);
   l_html:=l_html||'</tr>';
   DBMS_OUTPUT.PUT_LINE(l_html);
END;
/


....
stax
13 янв 21, 17:01    [22262807]     Ответить | Цитировать Сообщить модератору
 Re: DBMS_SQL  [new]
x17.mstu
Member

Откуда:
Сообщений: 360
Stax,

спс
13 янв 21, 17:16    [22262818]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить