Pessoal, boa tarde.
Cenário: Oracle 9i x .NET
Dúvida: Gostaria de saber se existe a possibilidade (se alguém já passou por isso), de se pegar um Type ( PL/SQL Table ) e retornar as informações para o .NET como um REF CURSOR?
Eu sei que, se eu ler o TYPE, popular uma TEMP TABLE, daí consigo retornar os valores da TEMP para o .NET via REF CURSOR.
Agora, pegar o TYPE PL/SQL e retorná-lo diretamente, como um REF CURSOR, teria como?
Muito obrigado.
Type x Ref Cursor ( retornar um Type como um REF ).
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Beleza Trevisolli?
Você pode sim passar dados de uma nested table (sql type) por parâmetro de saída através de um ref cursor. Já usei para montar um resultset para um programa java usar. O PL/SQL fazia leitura e cálculos sobre os dados numa nested table e passava para a interface web exibir as linhas como saída, através de um ref cursor.
O AskTom (http://asktom.oracle.com/pls/asktom/f?p ... 6014735810)
mostra como fazer isso para alguns exemplos simples, de onde você pode evoluir a partir de seus requisitos.
Você vai fazer o seu "open <cursor> for <sql>" e retornar como parâmetro o ref cursor normalmente, porém o seu sql vai ser do tipo "select * from table(minha_nestedtable)". Em vez de usar uma tabela de banco de dados vai ler direto da tabelinha em memória.
Há várias formas de montar sua nested table também.
- O Tom fez por loop em programa, para simplificar o exemplo.
- Você pode utilizar queries sql buscando de tabelas no bd, usando CAST e MULTISET para transformar no type e carregar a nested table.
http://download.oracle.com/docs/cd/B193 ... SQLRF00613
- Ou ainda fazer transformações através de table functions.
http://download.oracle.com/docs/cd/B193 ... sthref2345
Você pode sim passar dados de uma nested table (sql type) por parâmetro de saída através de um ref cursor. Já usei para montar um resultset para um programa java usar. O PL/SQL fazia leitura e cálculos sobre os dados numa nested table e passava para a interface web exibir as linhas como saída, através de um ref cursor.
O AskTom (http://asktom.oracle.com/pls/asktom/f?p ... 6014735810)
mostra como fazer isso para alguns exemplos simples, de onde você pode evoluir a partir de seus requisitos.
Você vai fazer o seu "open <cursor> for <sql>" e retornar como parâmetro o ref cursor normalmente, porém o seu sql vai ser do tipo "select * from table(minha_nestedtable)". Em vez de usar uma tabela de banco de dados vai ler direto da tabelinha em memória.
Há várias formas de montar sua nested table também.
- O Tom fez por loop em programa, para simplificar o exemplo.
- Você pode utilizar queries sql buscando de tabelas no bd, usando CAST e MULTISET para transformar no type e carregar a nested table.
http://download.oracle.com/docs/cd/B193 ... SQLRF00613
- Ou ainda fazer transformações através de table functions.
http://download.oracle.com/docs/cd/B193 ... sthref2345
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, show!
Valeu pela dica. Vou fazer os testes aqui e, posto pra vocês!
Valeu pela dica. Vou fazer os testes aqui e, posto pra vocês!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 22 visitantes