Pular para o conteúdo

Como obter o nome das colunas de um Cursor

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

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Deixe um comentário

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

plugins premium WordPress