Re: [oracle_br] Cursor Dinamico no Oracle Forms
Eduardo, Pode utilizar que funciona muito bem ... Utilizamos em vários módulos e há muito tempo ... Sds, Carlo Pedrine Ceruti Gonçalves Analista de Sistemas Empresa Luz e Força Santa Maria S/A (27)2101-2323 / (27)2101-2327 - Original Message - From: "Eduardo Schurtz" To: Sent: Monday, March 11, 2013 4:49 PM Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms Interessante essa solução Pedrine! Nunca tinha utilizado record group dessa maneira. -- Eduardo Schurtz eduardoschurtz.com/oracle 2013/3/11 Pedrine > ** > > > Tathianna, > > Acredito que vc terá que utilizar record group. Segue abaixo um exemplo : > > declare > w_nr_faturas number; > w_vl_debitos number; > w_nr_consumidores number; > w_sql varchar2(1000); > w_where varchar2(1000); > rg_id RecordGroup; > w_nr_registros Number; > w_erro Number; > w_coluna GroupColumn; > w_linha Number; > > begin > w_sql := 'select sum(nr_faturas_atraso) tot_faturas, ' || > ' sum(vl_debito) tot_debitos, ' || > ' count(*) tot_consumidores ' || > ' from temp_rel_aviso_corte '; > > w_where := get_block_property('primeirobloco', default_where); > > if w_where is not null then > w_sql := w_sql || chr(10) || ' where ' || w_where; > end if; > > -- > -- Verifica a existência do grupo de Registros "totais" > -- > rg_id := Find_Group( 'totais' ); > > if not Id_Null(rg_id) then > Delete_Group( rg_id ); > end if; > > -- > -- Cria o grupo de Registros "totais" > -- > rg_id := Create_Group_From_Query('totais', w_sql); > > -- > -- Verifica se não houve nenhum erro na abertura do grupo de registros > -- > w_erro := Populate_Group( rg_id ); > > if w_erro <> 0 then > raise form_trigger_failure; > end if; > > -- > -- Busca o Número de Registros do SQL > -- > w_nr_registros := Get_Group_Row_Count( rg_id ); > w_linha := 1; > > -- > -- Abre o SQL e Lê os valores > -- > loop > if w_linha > w_nr_registros then > exit; > end if; > > -- > -- Lê os campos da Conta de Energia > -- > w_nr_faturas := > get_group_number_cell('totais.tot_faturas',w_linha); > w_vl_debitos := > get_group_number_cell('totais.tot_debitos',w_linha); > w_nr_consumidores := > get_group_number_cell('totais.tot_consumidores',w_linha); > > :cg$ctrl.p_nr_faturas := w_nr_faturas; > :cg$ctrl.p_vl_debitos := w_vl_debitos; > :cg$ctrl.p_nr_consumidores := w_nr_consumidores; > > w_linha := w_linha + 1; > end loop; > > end; > > > Carlo Pedrine Ceruti Gonçalves > Analista de Sistemas > Empresa Luz e Força Santa Maria S/A > (27)2101-2323 / (27)2101-2327 > - Original Message - > From: "Tathyanna Pelegrinni" > To: > Sent: Monday, March 11, 2013 4:40 PM > Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms > > Query ficaria enormee, mas muito grande mesmo. > > por isso a tentativa de fazer dinamico > > Mas, acho q nao vai ter jeito mesmo. > > 2013/3/11 Eduardo Schurtz > > > ** > > > > > > Nesse caso, talvez um union resolva... > > > > > > -- > > Eduardo Schurtz > > eduardoschurtz.com/oracle > > > > 2013/3/11 Tathyanna Pelegrinni > > > > > É q tenho condicoes para selecionar dados de uma tabela. senao é de > > > outra... e assim vai... > > > > > > por isso estava querendo fazer o cursor dinamico, para nao ter 10 > > cursores > > > muito parecido numa mesma rotina. > > > > > > 2013/3/11 Pedrine > > > > > > > ** > > > > > > > > > > > > > > Tathyanna, > > > > > > > > Se a query for retornar apenas uma linha, vc não precisa criar um > > cursor. > > > > ex: > > > > -- > > > > declare > > > > w_uf varchar2(2); > > > > begin
Re: [oracle_br] Cursor Dinamico no Oracle Forms
E criar a package no banco com o sql dinâmico e apenas chamar ela do forms, não pode? -- Eduardo Schurtz eduardoschurtz.com/oracle 2013/3/11 Tathyanna Pelegrinni > Query ficaria enormee, mas muito grande mesmo. > > por isso a tentativa de fazer dinamico > > Mas, acho q nao vai ter jeito mesmo. > > 2013/3/11 Eduardo Schurtz > > > ** > > > > > > Nesse caso, talvez um union resolva... > > > > > > -- > > Eduardo Schurtz > > eduardoschurtz.com/oracle > > > > 2013/3/11 Tathyanna Pelegrinni > > > > > É q tenho condicoes para selecionar dados de uma tabela. senao é de > > > outra... e assim vai... > > > > > > por isso estava querendo fazer o cursor dinamico, para nao ter 10 > > cursores > > > muito parecido numa mesma rotina. > > > > > > 2013/3/11 Pedrine > > > > > > > ** > > > > > > > > > > > > > > Tathyanna, > > > > > > > > Se a query for retornar apenas uma linha, vc não precisa criar um > > cursor. > > > > ex: > > > > -- > > > > declare > > > > w_uf varchar2(2); > > > > begin > > > > select max(cd_uf) > > > > into w_uf > > > > from municipios > > > > where cd_municipio = 1; > > > > > > > > return (w_uf); > > > > end; > > > > > > > > Para o caso de se retornar "n" linhas, tente da seguinte forma : > > > > -- > > > > declare > > > > cursor busca_alunos is > > > > select cd_aluno, nm_aluno, cd_serie > > > > from alunos; > > > > > > > > w_cd_aluno number; > > > > w_nm_aluno varchar2(100); > > > > w_cd_serie number; > > > > > > > > begin > > > > open busca_alunos; > > > > loop > > > > fetch busca_alunos into w_cd_aluno, w_nm_aluno, w_cd_serie; > > > > exit when busca_alunos %notfound; > > > > > > > > -- tratamento das informações > > > > > > > > end loop; > > > > close busca_alunos; > > > > end; > > > > > > > > Espero ter ajudado, > > > > > > > > Quaisquer dúvidas, meu email pedr...@elfsm.com.br. > > > > > > > > Sds, > > > > > > > > > > > > Carlo Pedrine Ceruti Gonçalves > > > > Analista de Sistemas > > > > Empresa Luz e Força Santa Maria S/A > > > > (27)2101-2323 / (27)2101-2327 > > > > - Original Message - > > > > From: "Tathyanna Pelegrinni" > > > > To: > > > > Sent: Monday, March 11, 2013 3:55 PM > > > > Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms > > > > > > > > Forms 10.1.2.0.2 ... 32 bits. > > > > > > > > É numa program unit, sim. > > > > > > > > Queria um exemplo bem bobo, só pra ver como funciona. > > > > A query a ser montada sempre vai retornar uma linha somente. E sempre > > uma > > > > coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o > > > recurso > > > > nao é aceito em programas do lado do cliente. > > > > > > > > 2013/3/11 Pedrine > > > > > > > > > ** > > > > > > > > > > > > > > > > > > > Tathyanna, > > > > > > > > > > Por favor, qual a versão do su forms ? Explique melhor como vc está > > > > > querendo executar este "cursor dinâmico" ? É numa "program unit" ? > É > > > para > > > > > popular um bloco ? > > > > > > > > > > Estou à disposição para ajudá-la, > > > > > > > > > > Carlo Pedrine Ceruti Gonçalves > > > > > Analista de Sistemas > > > > > Empresa Luz e Força Santa Maria S/A > > > > > (27)2101-2323 / (27)2101-2327 > > > > > > > > > > - Original Message - > > > > > From: Tathyanna Pelegrinni > > > > > To: Tathyanna Pelegrinni > > > > > Sent: Monday, March 11, 2013 3:26 PM > > > > > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > > > > > > > > > Boa tarde, Pessoal! > > > &g
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Tathianna, Acredito que vc terá que utilizar record group. Segue abaixo um exemplo : declare w_nr_faturas number; w_vl_debitos number; w_nr_consumidores number; w_sql varchar2(1000); w_wherevarchar2(1000); rg_id RecordGroup; w_nr_registros Number; w_erro Number; w_coluna GroupColumn; w_linhaNumber; begin w_sql := 'select sum(nr_faturas_atraso) tot_faturas, ' || ' sum(vl_debito) tot_debitos, ' || ' count(*) tot_consumidores ' || ' from temp_rel_aviso_corte '; w_where := get_block_property('primeirobloco', default_where); if w_where is not null then w_sql := w_sql || chr(10) || ' where ' || w_where; end if; -- -- Verifica a existência do grupo de Registros "totais" -- rg_id := Find_Group( 'totais' ); if not Id_Null(rg_id) then Delete_Group( rg_id ); end if; -- -- Cria o grupo de Registros "totais" -- rg_id := Create_Group_From_Query('totais', w_sql); -- -- Verifica se não houve nenhum erro na abertura do grupo de registros -- w_erro := Populate_Group( rg_id ); if w_erro <> 0 then raise form_trigger_failure; end if; -- -- Busca o Número de Registros do SQL -- w_nr_registros := Get_Group_Row_Count( rg_id ); w_linha:= 1; -- -- Abre o SQL e Lê os valores -- loop if w_linha > w_nr_registros then exit; end if; -- -- Lê os campos da Conta de Energia -- w_nr_faturas := get_group_number_cell('totais.tot_faturas',w_linha); w_vl_debitos := get_group_number_cell('totais.tot_debitos',w_linha); w_nr_consumidores := get_group_number_cell('totais.tot_consumidores',w_linha); :cg$ctrl.p_nr_faturas := w_nr_faturas; :cg$ctrl.p_vl_debitos := w_vl_debitos; :cg$ctrl.p_nr_consumidores := w_nr_consumidores; w_linha := w_linha + 1; end loop; end; Carlo Pedrine Ceruti Gonçalves Analista de Sistemas Empresa Luz e Força Santa Maria S/A (27)2101-2323 / (27)2101-2327 ----- Original Message - From: "Tathyanna Pelegrinni" To: Sent: Monday, March 11, 2013 4:40 PM Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms Query ficaria enormee, mas muito grande mesmo. por isso a tentativa de fazer dinamico Mas, acho q nao vai ter jeito mesmo. 2013/3/11 Eduardo Schurtz > ** > > > Nesse caso, talvez um union resolva... > > > -- > Eduardo Schurtz > eduardoschurtz.com/oracle > > 2013/3/11 Tathyanna Pelegrinni > > > É q tenho condicoes para selecionar dados de uma tabela. senao é de > > outra... e assim vai... > > > > por isso estava querendo fazer o cursor dinamico, para nao ter 10 > cursores > > muito parecido numa mesma rotina. > > > > 2013/3/11 Pedrine > > > > > ** > > > > > > > > > > Tathyanna, > > > > > > Se a query for retornar apenas uma linha, vc não precisa criar um > cursor. > > > ex: > > > -- > > > declare > > > w_uf varchar2(2); > > > begin > > > select max(cd_uf) > > > into w_uf > > > from municipios > > > where cd_municipio = 1; > > > > > > return (w_uf); > > > end; > > > > > > Para o caso de se retornar "n" linhas, tente da seguinte forma : > > > -- > > > declare > > > cursor busca_alunos is > > > select cd_aluno, nm_aluno, cd_serie > > > from alunos; > > > > > > w_cd_aluno number; > > > w_nm_aluno varchar2(100); > > > w_cd_serie number; > > >
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Entendi... Eu já fiz isso... vou tentar localizar e te passo um exemplo ... Sds, Carlo Pedrine Ceruti Gonçalves Analista de Sistemas Empresa Luz e Força Santa Maria S/A (27)2101-2323 / (27)2101-2327 - Original Message - From: "Tathyanna Pelegrinni" To: Sent: Monday, March 11, 2013 4:29 PM Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms É q tenho condicoes para selecionar dados de uma tabela. senao é de outra... e assim vai... por isso estava querendo fazer o cursor dinamico, para nao ter 10 cursores muito parecido numa mesma rotina. 2013/3/11 Pedrine > ** > > > Tathyanna, > > Se a query for retornar apenas uma linha, vc não precisa criar um cursor. > ex: > -- > declare > w_uf varchar2(2); > begin > select max(cd_uf) > into w_uf > from municipios > where cd_municipio = 1; > > return (w_uf); > end; > > Para o caso de se retornar "n" linhas, tente da seguinte forma : > -- > declare > cursor busca_alunos is > select cd_aluno, nm_aluno, cd_serie > from alunos; > > w_cd_aluno number; > w_nm_aluno varchar2(100); > w_cd_serie number; > > begin > open busca_alunos; > loop > fetch busca_alunos into w_cd_aluno, w_nm_aluno, w_cd_serie; > exit when busca_alunos %notfound; > > -- tratamento das informações > > end loop; > close busca_alunos; > end; > > Espero ter ajudado, > > Quaisquer dúvidas, meu email pedr...@elfsm.com.br. > > Sds, > > > Carlo Pedrine Ceruti Gonçalves > Analista de Sistemas > Empresa Luz e Força Santa Maria S/A > (27)2101-2323 / (27)2101-2327 > - Original Message - > From: "Tathyanna Pelegrinni" > To: > Sent: Monday, March 11, 2013 3:55 PM > Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms > > Forms 10.1.2.0.2 ... 32 bits. > > É numa program unit, sim. > > Queria um exemplo bem bobo, só pra ver como funciona. > A query a ser montada sempre vai retornar uma linha somente. E sempre uma > coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o > recurso > nao é aceito em programas do lado do cliente. > > 2013/3/11 Pedrine > > > ** > > > > > > > Tathyanna, > > > > Por favor, qual a versão do su forms ? Explique melhor como vc está > > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É > > para > > popular um bloco ? > > > > Estou à disposição para ajudá-la, > > > > Carlo Pedrine Ceruti Gonçalves > > Analista de Sistemas > > Empresa Luz e Força Santa Maria S/A > > (27)2101-2323 / (27)2101-2327 > > > > - Original Message - > > From: Tathyanna Pelegrinni > > To: Tathyanna Pelegrinni > > Sent: Monday, March 11, 2013 3:26 PM > > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > > > Boa tarde, Pessoal! > > > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > > Nunca pensei q precisaria, mas,,, chegou o dia! > > Alguem sabe como fazê-lo? Tem um exmplo simples? > > > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > > > Como faria no forms? > > > > -- Declaracao > > > > type cur is ref cursor; > > cur_total cur; > > w_sql varchar2(1); > > w_var number; > > > > -- Corpo do programa > > > > w_sql := ' SELECT 1 FROM DUAL'; > > > > OPEN cur_total FOR w_sql; > > FETCH cur_total INTO w_var; > > CLOSE cur_total ; > > > > Obrigada. > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira > >responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > -- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO > ESPAÇO! > >VISITE: http://www.oraclebr.com.br/ > -- > Links do Yahoo! Grupos > > > [As partes desta mensagem
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Nesse caso, talvez um union resolva... -- Eduardo Schurtz eduardoschurtz.com/oracle 2013/3/11 Tathyanna Pelegrinni > É q tenho condicoes para selecionar dados de uma tabela. senao é de > outra... e assim vai... > > por isso estava querendo fazer o cursor dinamico, para nao ter 10 cursores > muito parecido numa mesma rotina. > > 2013/3/11 Pedrine > > > ** > > > > > > Tathyanna, > > > > Se a query for retornar apenas uma linha, vc não precisa criar um cursor. > > ex: > > -- > > declare > > w_uf varchar2(2); > > begin > > select max(cd_uf) > > into w_uf > > from municipios > > where cd_municipio = 1; > > > > return (w_uf); > > end; > > > > Para o caso de se retornar "n" linhas, tente da seguinte forma : > > -- > > declare > > cursor busca_alunos is > > select cd_aluno, nm_aluno, cd_serie > > from alunos; > > > > w_cd_aluno number; > > w_nm_aluno varchar2(100); > > w_cd_serie number; > > > > begin > > open busca_alunos; > > loop > > fetch busca_alunos into w_cd_aluno, w_nm_aluno, w_cd_serie; > > exit when busca_alunos %notfound; > > > > -- tratamento das informações > > > > end loop; > > close busca_alunos; > > end; > > > > Espero ter ajudado, > > > > Quaisquer dúvidas, meu email pedr...@elfsm.com.br. > > > > Sds, > > > > > > Carlo Pedrine Ceruti Gonçalves > > Analista de Sistemas > > Empresa Luz e Força Santa Maria S/A > > (27)2101-2323 / (27)2101-2327 > > - Original Message - > > From: "Tathyanna Pelegrinni" > > To: > > Sent: Monday, March 11, 2013 3:55 PM > > Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms > > > > Forms 10.1.2.0.2 ... 32 bits. > > > > É numa program unit, sim. > > > > Queria um exemplo bem bobo, só pra ver como funciona. > > A query a ser montada sempre vai retornar uma linha somente. E sempre uma > > coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o > recurso > > nao é aceito em programas do lado do cliente. > > > > 2013/3/11 Pedrine > > > > > ** > > > > > > > > > > > Tathyanna, > > > > > > Por favor, qual a versão do su forms ? Explique melhor como vc está > > > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É > para > > > popular um bloco ? > > > > > > Estou à disposição para ajudá-la, > > > > > > Carlo Pedrine Ceruti Gonçalves > > > Analista de Sistemas > > > Empresa Luz e Força Santa Maria S/A > > > (27)2101-2323 / (27)2101-2327 > > > > > > - Original Message - > > > From: Tathyanna Pelegrinni > > > To: Tathyanna Pelegrinni > > > Sent: Monday, March 11, 2013 3:26 PM > > > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > > > > > Boa tarde, Pessoal! > > > > > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > > > Nunca pensei q precisaria, mas,,, chegou o dia! > > > Alguem sabe como fazê-lo? Tem um exmplo simples? > > > > > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > > > > > Como faria no forms? > > > > > > -- Declaracao > > > > > > type cur is ref cursor; > > > cur_total cur; > > > w_sql varchar2(1); > > > w_var number; > > > > > > -- Corpo do programa > > > > > > w_sql := ' SELECT 1 FROM DUAL'; > > > > > > OPEN cur_total FOR w_sql; > > > FETCH cur_total INTO w_var; > > > CLOSE cur_total ; > > > > > > Obrigada. > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > -- > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > inteira > > >responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > >
Re: [oracle_br] Cursor Dinamico no Oracle Forms
É q tenho condicoes para selecionar dados de uma tabela. senao é de outra... e assim vai... por isso estava querendo fazer o cursor dinamico, para nao ter 10 cursores muito parecido numa mesma rotina. 2013/3/11 Pedrine > ** > > > Tathyanna, > > Se a query for retornar apenas uma linha, vc não precisa criar um cursor. > ex: > -- > declare > w_uf varchar2(2); > begin > select max(cd_uf) > into w_uf > from municipios > where cd_municipio = 1; > > return (w_uf); > end; > > Para o caso de se retornar "n" linhas, tente da seguinte forma : > -- > declare > cursor busca_alunos is > select cd_aluno, nm_aluno, cd_serie > from alunos; > > w_cd_aluno number; > w_nm_aluno varchar2(100); > w_cd_serie number; > > begin > open busca_alunos; > loop > fetch busca_alunos into w_cd_aluno, w_nm_aluno, w_cd_serie; > exit when busca_alunos %notfound; > > -- tratamento das informações > > end loop; > close busca_alunos; > end; > > Espero ter ajudado, > > Quaisquer dúvidas, meu email pedr...@elfsm.com.br. > > Sds, > > > Carlo Pedrine Ceruti Gonçalves > Analista de Sistemas > Empresa Luz e Força Santa Maria S/A > (27)2101-2323 / (27)2101-2327 > - Original Message - > From: "Tathyanna Pelegrinni" > To: > Sent: Monday, March 11, 2013 3:55 PM > Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms > > Forms 10.1.2.0.2 ... 32 bits. > > É numa program unit, sim. > > Queria um exemplo bem bobo, só pra ver como funciona. > A query a ser montada sempre vai retornar uma linha somente. E sempre uma > coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o recurso > nao é aceito em programas do lado do cliente. > > 2013/3/11 Pedrine > > > ** > > > > > > > Tathyanna, > > > > Por favor, qual a versão do su forms ? Explique melhor como vc está > > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É para > > popular um bloco ? > > > > Estou à disposição para ajudá-la, > > > > Carlo Pedrine Ceruti Gonçalves > > Analista de Sistemas > > Empresa Luz e Força Santa Maria S/A > > (27)2101-2323 / (27)2101-2327 > > > > - Original Message - > > From: Tathyanna Pelegrinni > > To: Tathyanna Pelegrinni > > Sent: Monday, March 11, 2013 3:26 PM > > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > > > Boa tarde, Pessoal! > > > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > > Nunca pensei q precisaria, mas,,, chegou o dia! > > Alguem sabe como fazê-lo? Tem um exmplo simples? > > > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > > > Como faria no forms? > > > > -- Declaracao > > > > type cur is ref cursor; > > cur_total cur; > > w_sql varchar2(1); > > w_var number; > > > > -- Corpo do programa > > > > w_sql := ' SELECT 1 FROM DUAL'; > > > > OPEN cur_total FOR w_sql; > > FETCH cur_total INTO w_var; > > CLOSE cur_total ; > > > > Obrigada. > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > -- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira > >responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > -- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO > ESPAÇO! > >VISITE: http://www.oraclebr.com.br/ > -- > Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas] -- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Tathyanna, Se a query for retornar apenas uma linha, vc não precisa criar um cursor. ex: declare w_ufvarchar2(2); begin select max(cd_uf) into w_uf from municipios where cd_municipio = 1; return (w_uf); end; Para o caso de se retornar "n" linhas, tente da seguinte forma : -- declare cursor busca_alunos is select cd_aluno, nm_aluno, cd_serie from alunos; w_cd_aluno number; w_nm_aluno varchar2(100); w_cd_serienumber; begin open busca_alunos; loop fetch busca_alunos into w_cd_aluno, w_nm_aluno, w_cd_serie; exit when busca_alunos %notfound; -- tratamento das informações end loop; close busca_alunos; end; Espero ter ajudado, Quaisquer dúvidas, meu email pedr...@elfsm.com.br. Sds, Carlo Pedrine Ceruti Gonçalves Analista de Sistemas Empresa Luz e Força Santa Maria S/A (27)2101-2323 / (27)2101-2327 - Original Message - From: "Tathyanna Pelegrinni" To: Sent: Monday, March 11, 2013 3:55 PM Subject: Re: [oracle_br] Cursor Dinamico no Oracle Forms Forms 10.1.2.0.2 ...32 bits. É numa program unit, sim. Queria um exemplo bem bobo, só pra ver como funciona. A query a ser montada sempre vai retornar uma linha somente. E sempre uma coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o recurso nao é aceito em programas do lado do cliente. 2013/3/11 Pedrine > ** > > > Tathyanna, > > Por favor, qual a versão do su forms ? Explique melhor como vc está > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É para > popular um bloco ? > > Estou à disposição para ajudá-la, > > Carlo Pedrine Ceruti Gonçalves > Analista de Sistemas > Empresa Luz e Força Santa Maria S/A > (27)2101-2323 / (27)2101-2327 > > - Original Message - > From: Tathyanna Pelegrinni > To: Tathyanna Pelegrinni > Sent: Monday, March 11, 2013 3:26 PM > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > Boa tarde, Pessoal! > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > Nunca pensei q precisaria, mas,,, chegou o dia! > Alguem sabe como fazê-lo? Tem um exmplo simples? > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > Como faria no forms? > > -- Declaracao > > type cur is ref cursor; > cur_total cur; > w_sql varchar2(1); > w_var number; > > -- Corpo do programa > > w_sql := ' SELECT 1 FROM DUAL'; > > OPEN cur_total FOR w_sql; > FETCH cur_total INTO w_var; > CLOSE cur_total ; > > Obrigada. > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] -- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! >VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Tathyanna, tudo bem? Até onde eu sei, realmente o forms não aceita sql dinâmico, assim como o Chiappa falou. Só se implementaram isso em uma versão mais recente, mas eu desconheço. O jeito é usar o "execute immediate" numa package de banco e chamar do forms. -- Eduardo Schurtz eduardoschurtz.com/oracle 2013/3/11 Tathyanna Pelegrinni > Forms 10.1.2.0.2 ...32 bits. > > É numa program unit, sim. > > Queria um exemplo bem bobo, só pra ver como funciona. > A query a ser montada sempre vai retornar uma linha somente. E sempre uma > coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o recurso > nao é aceito em programas do lado do cliente. > > > > 2013/3/11 Pedrine > > > ** > > > > > > Tathyanna, > > > > Por favor, qual a versão do su forms ? Explique melhor como vc está > > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É para > > popular um bloco ? > > > > Estou à disposição para ajudá-la, > > > > Carlo Pedrine Ceruti Gonçalves > > Analista de Sistemas > > Empresa Luz e Força Santa Maria S/A > > (27)2101-2323 / (27)2101-2327 > > > > - Original Message - > > From: Tathyanna Pelegrinni > > To: Tathyanna Pelegrinni > > Sent: Monday, March 11, 2013 3:26 PM > > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > > > Boa tarde, Pessoal! > > > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > > Nunca pensei q precisaria, mas,,, chegou o dia! > > Alguem sabe como fazê-lo? Tem um exmplo simples? > > > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > > > Como faria no forms? > > > > -- Declaracao > > > > type cur is ref cursor; > > cur_total cur; > > w_sql varchar2(1); > > w_var number; > > > > -- Corpo do programa > > > > w_sql := ' SELECT 1 FROM DUAL'; > > > > OPEN cur_total FOR w_sql; > > FETCH cur_total INTO w_var; > > CLOSE cur_total ; > > > > Obrigada. > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > -- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > -- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! > VISITE: http://www.oraclebr.com.br/ > > Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Forms 10.1.2.0.2 ...32 bits. É numa program unit, sim. Queria um exemplo bem bobo, só pra ver como funciona. A query a ser montada sempre vai retornar uma linha somente. E sempre uma coluna tb! é bem simples. Pena q o ref cursor nao funciona. Diz q o recurso nao é aceito em programas do lado do cliente. 2013/3/11 Pedrine > ** > > > Tathyanna, > > Por favor, qual a versão do su forms ? Explique melhor como vc está > querendo executar este "cursor dinâmico" ? É numa "program unit" ? É para > popular um bloco ? > > Estou à disposição para ajudá-la, > > Carlo Pedrine Ceruti Gonçalves > Analista de Sistemas > Empresa Luz e Força Santa Maria S/A > (27)2101-2323 / (27)2101-2327 > > - Original Message - > From: Tathyanna Pelegrinni > To: Tathyanna Pelegrinni > Sent: Monday, March 11, 2013 3:26 PM > Subject: [oracle_br] Cursor Dinamico no Oracle Forms > > Boa tarde, Pessoal! > > Alguem já precisou fazer um cursor dinamico no Forms Builder? > Nunca pensei q precisaria, mas,,, chegou o dia! > Alguem sabe como fazê-lo? Tem um exmplo simples? > > Esse abaixo funciona somente em proc. de banco e nao no forms. > > Como faria no forms? > > -- Declaracao > > type cur is ref cursor; > cur_total cur; > w_sql varchar2(1); > w_var number; > > -- Corpo do programa > > w_sql := ' SELECT 1 FROM DUAL'; > > OPEN cur_total FOR w_sql; > FETCH cur_total INTO w_var; > CLOSE cur_total ; > > Obrigada. > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] -- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Cursor Dinamico no Oracle Forms
Tathyanna, Por favor, qual a versão do su forms ? Explique melhor como vc está querendo executar este "cursor dinâmico" ? É numa "program unit" ? É para popular um bloco ? Estou à disposição para ajudá-la, Carlo Pedrine Ceruti Gonçalves Analista de Sistemas Empresa Luz e Força Santa Maria S/A (27)2101-2323 / (27)2101-2327 - Original Message - From: Tathyanna Pelegrinni To: Tathyanna Pelegrinni Sent: Monday, March 11, 2013 3:26 PM Subject: [oracle_br] Cursor Dinamico no Oracle Forms Boa tarde, Pessoal! Alguem já precisou fazer um cursor dinamico no Forms Builder? Nunca pensei q precisaria, mas,,, chegou o dia! Alguem sabe como fazê-lo? Tem um exmplo simples? Esse abaixo funciona somente em proc. de banco e nao no forms. Como faria no forms? -- Declaracao type cur is ref cursor; cur_total cur; w_sql varchar2(1); w_var number; -- Corpo do programa w_sql := ' SELECT 1 FROM DUAL'; OPEN cur_total FOR w_sql; FETCH cur_total INTO w_var; CLOSE cur_total ; Obrigada. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]