GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Obter nome das colunas de um Cursor

Olá pessoal !

Acho que todos que trabalham com PL/SQL em algum momento, precisou exibir o nome das colunas de um cursor. Para aqueles que estão iniciando, aqui vai um exemplo de como fazer isso.

Utilizaremos a PACKAGE DBMS_SQL para nos fornecer essa informação:

DECLARE
--
-- Variáveis
--
vCount  NUMBER  DEFAULT 0;
cCursor INTEGER DEFAULT DBMS_SQL.OPEN_CURSOR;
vDescr  DBMS_SQL.DESC_TAB;
BEGIN
--
-- Parse da Instrução SQL
--
DBMS_SQL.PARSE
(
cCursor
,'SELECT * FROM all_tables'
,DBMS_SQL.NATIVE
);
--
-- Devolve as colunas em um array
--
DBMS_SQL.DESCRIBE_COLUMNS
(
cCursor
,vCount
,vDescr
);
--
-- Varre o array e exibe a descrição das colunas
--
FOR i IN 1..vCount LOOP
DBMS_OUTPUT.PUT_LINE
(
'COLUNA: '|| vDescr(i).col_name
);

END LOOP;
--
-- Sempre feche o seu cursor :)
--
DBMS_SQL.CLOSE_CURSOR
(
cCursor
);
END;

Você também pode capturar outros atributos além do nome da coluna. Isso eu deixo para vocês pesquisarem através do link para a documentação da PACKAGE DBMS_SQL.

Abraço

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *