Re: [oracle_br] Duvida PL\SQL.

2013-10-28 Por tôpico Milton Bastos Henriquis Jr.
Bom dia Igor!

Olha, não vou conseguir te dar detalhes específicos do DOT NET, mas eu já
trabalhei num sistema em 2006 em que era feito algo parecido. E funcionava.
Não me pergunte qual era a versão do DOT NET e como faziam isso lá, pois eu
trabalhava somente no banco de dados (e também desenvolvia essas packages
PL/SQL).

Mas se não me engano eu também usei REFCURSOR mesmo... vc não pode fazer
dessa maneira?




2013/10/28 Igor Alves igor.al...@gmail.com

 **


 Eu criei  :

   TYPE TABELA_HEADIS TABLE OF REC_HEAD   INDEX BY
 BINARY_INTEGER;
   TYPE TABELA_BODYIS TABLE OF REC_BODY   INDEX BY
 BINARY_INTEGER;

Nesses caras eu carrego os dados de 2 cursores.
 .No primeiro os cabeçalho do relatório.
 .No segundo o detalhe .

   No detalhe eu resolvo os cálculos , carrego no TYPE tudo ja pronto.


 A merda e que o .net não consegue ler o Tipo Tabela somente o
 Refcursor

Queria sua opinião de vocês , a melhor forma de fazer isso com o menor
 custo para o bancopreciso carregar o REFCURSOR com o TYPE de tabela se
 é que tem como fazer isso(fiz mais ficou lento).


 Igor Alves

  



Re: [oracle_br] Duvida PL/SQL

2009-01-27 Por tôpico francisco porfirio
Olá Juliano,

Olhei rapidamente teu código, pelo erro, tenta verficar na definição dos
campos que você colocou no select do LOOP


For vlinha In (select M.ano,cod_modelo,item_

agrupador,avg
(PRECO_UNITARIO_NACIONAL) as
preco,QUANTIDADE_COMPOSICAO,QUANTIDADE_COMPOSICAO*Avg
(PRECO_UNITARIO_NACIONAL) as total

--Bulk Collect Into tb_vetor
from modelo_equipamento M join tabela_preco T on (M.cod_equipamento =
T.cod_equipamento)
where M.ano = vano

group by cod_modelo,item_agrupador, QUANTIDADE_COMPOSICAO )

Loop
Não encontrei o campo VALOR_CCA_COM_OCIOSIDADE no teu loop, porém você faz
referencia ao mesmo no insert, veja:

Insert Into PRECIFICACAO_DETALHADA
(ANO,COD_MODELO,QUANTIDADE_

INVENTARIO,UNIDADE,PRECO_MODELO,VALOR_CCA,C
USTO_INDIRETO,VALOR_CCA_COM_CUSTO_INDIRETO,FATOR_OCIOSIDADE,VALOR_CCA_
COM_OCIOSIDADE)

Values
(vlinha.ANO,vlinha.COD_MODELO,vlinha.QUANTIDADE_INVENTARIO,vlinha.UNID
ADE,vlinha.PRECO_MODELO,vlinha.VALOR_CCA,
vlinha.CUSTO_INDIRETO,vlinha.VALOR_CCA_COM_CUSTO_INDIRETO,vlinha.FATOR
_OCIOSIDADE,vlinha.VALOR_CCA_COM_OCIOSIDADE);


Espero ter ajudado em algo.




-- 
Atenciosamente
Francisco Porfirio Ribeiro Neto


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida PL/SQL

2009-01-26 Por tôpico Bruno Fantin
Você pode fazer um insert com select.

Insert Into Tabela
Select ..

Assim todo o retorno do select vai para a tabela.


  - Original Message - 
  From: jusegantine 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Monday, January 26, 2009 12:24 PM
  Subject: [oracle_br] Duvida PL/SQL


  Bom dia Senhores

  Eu tenho este select : 

  vano = '2008'

  select cod_modelo,item_agrupador,avg(PRECO_UNITARIO_NACIONAL)as 
  preco,QUANTIDADE_COMPOSICAO,QUANTIDADE_COMPOSICAO*avg
  (PRECO_UNITARIO_NACIONAL)as total 
  from modelo_equipamento M join 
  tabela_preco T on (M.cod_equipamento 
  = T.cod_equipamento)
  where ano = vano
  group by cod_modelo,item_agrupador, QUANTIDADE_COMPOSICAO)

  Ele me retorna uma tabela com uma série de dados calculados.

  Como eu posso criar uma procedure com cursor se necessário, que de 
  um insert desses dados resultantes em outra tabela?

  O procedimento recebe como parametro o ANO. Qual a melhor maneira de 
  fazer isso para que depois eu possa chama-lo em um front-end?

  Muito Obrigado Senhore!
  Meu emprego está dependendo disso no Momento! rs

  []'s 



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida PL/SQL

2009-01-26 Por tôpico José Eduardo Batista Juliano
Se entendi o que voce quer, então é bem simples. Segue código:

*

create* *or* *replace* *procedure* sp_insere_tabela(
vano *In* *Date*
) *Is*
*Type* TP_RECORD *Is* *Record*(
n_cod_modelo  *Number,--coloque o tipo correto*
n_item_agrupador *Number*,*--coloque o tipo correto*
n_preco *Number*,*--coloque o tipo correto*
n_qtd_comp *Number*,*--coloque o tipo correto*
n_total *Number--coloque o tipo correto*
);
*Type* tp_vetor *Is* *Table* *Of* tp_record
*Index* *By* *Binary_Integer*;
tb_vetor tp_vetor;
*begin*
*select* cod_modelo,
item_agrupador,
*avg*(PRECO_UNITARIO_NACIONAL)*as* preco,
QUANTIDADE_COMPOSICAO,
QUANTIDADE_COMPOSICAO**Avg* (PRECO_UNITARIO_NACIONAL)*as* total
*Bulk* *Collect* *Into* tb_vetor
*from* modelo_equipamento M *join* tabela_preco T *on* (M.cod_equipamento =
T.cod_equipamento)
*where* ano = vano
*group* *by* cod_modelo,item_agrupador, QUANTIDADE_COMPOSICAO;

*For* i *In* 1..tb_vetor.*Count*
*Loop*
*Insert* *Into* tabela(CAMPOS, AQUI)
*Values*
(tb_vetor(i).n_cod_modelo,tb_vetor(i).n_item_agrupador,tb_vetor(i).n_preco,
tb_vetor(i).n_qtd_comp,tb_vetor(i).n_total);
*End* *Loop*;
*Exception*
*When* no_data_found
*Then*
raise_application_error(-2,'Nenhum Registro Encontrado');
*end* sp_insere_tabela;
Agora é só fazer os ajustes necessarios, mas a ideias basica é essa.

Valeu abraço



2009/1/26 jusegantine jusegant...@yahoo.com.br

   Bom dia Senhores

 Eu tenho este select :

 vano = '2008'

 select cod_modelo,item_agrupador,avg(PRECO_UNITARIO_NACIONAL)as
 preco,QUANTIDADE_COMPOSICAO,QUANTIDADE_COMPOSICAO*avg
 (PRECO_UNITARIO_NACIONAL)as total
 from modelo_equipamento M join
 tabela_preco T on (M.cod_equipamento
 = T.cod_equipamento)
 where ano = vano
 group by cod_modelo,item_agrupador, QUANTIDADE_COMPOSICAO)

 Ele me retorna uma tabela com uma série de dados calculados.

 Como eu posso criar uma procedure com cursor se necessário, que de
 um insert desses dados resultantes em outra tabela?

 O procedimento recebe como parametro o ANO. Qual a melhor maneira de
 fazer isso para que depois eu possa chama-lo em um front-end?

 Muito Obrigado Senhore!
 Meu emprego está dependendo disso no Momento! rs

 []'s

 




-- 
José Eduardo Batista Juliano
Cel (16)9189-2486
Híade Informática
Consultoria Oracle e desenvolvimento de sistemas.
Ribeirão Preto - SP


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida PL/SQL

2007-02-28 Por tôpico Roberto Fernandes Sobrinho
não entendi direito mas parece que o group by resolve!?  mand emais detalhes

Em 27/02/07, Thiago M. Zerbinato [EMAIL PROTECTED] escreveu:

   Pessoal,

 Alguem pode me dar uma idéia de como fazer isso, na minha tabela esta
 assim:

 **NOTA**





 **CFOP**





 **VALOR**









 1





 5101





 150,00

 2





 5101





 20,00

 3





 5101





 30,00

 4





 6101





 1.000,00

 5





 5102





 5.000,00

 6





 6101





 250,00

 7





 6101





 300,00

 8





 5101





 350,00

 9





 5101





 450,00

 10





 5101





 600,00

 O Resultado tem que ser assim.

 **NOTA**





 **CFOP**





 **VALOR**









 1 A 3





 5101





 200,00

 4





 6101





 1.000,00

 5





 5102





 5.000,00

 6 A 7





 6101





 550,00

 8 A 10





 5101





 1.400,00

 Alguma ideia ?

 --
 Thiago M. Zerbinato [thiagomz]
 OCP DBA
 ---
 http://thiagomz.hpg.com.br

 [As partes desta mensagem que não continham texto foram removidas]

 




-- 
Roberto Fernandes Sobrinho
Deenvolvedor Oracle


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida PL/SQL

2007-02-28 Por tôpico David Silveira Mota
Nao teria como voce colocar o resultado de uma forma tabular? 
   
  Ex.:
  NOTA CFOP VALOR
  11011000,00
51023000,00
   
  Resultado Esperado
  NOTA CFOP VALOR
  1a5 101 1000,00
  8a3 102 2000,00
   
  Ou explicar melhor qual sua necessidade.
   
  Atenciosamente
   
  David Silveira
  OCA Developer
  

Thiago M. Zerbinato [EMAIL PROTECTED] escreveu:
  Pessoal,

Alguem pode me dar uma idéia de como fazer isso, na minha tabela esta assim:

**NOTA**





**CFOP**





**VALOR**









1





5101





150,00

2





5101





20,00

3





5101





30,00

4





6101





1.000,00

5





5102





5.000,00

6





6101





250,00

7





6101





300,00

8





5101





350,00

9





5101





450,00

10





5101





600,00

O Resultado tem que ser assim.

**NOTA**





**CFOP**





**VALOR**









1 A 3





5101





200,00

4





6101





1.000,00

5





5102





5.000,00

6 A 7





6101





550,00

8 A 10





5101





1.400,00

Alguma ideia ?

-- 
Thiago M. Zerbinato [thiagomz]
OCP DBA
---
http://thiagomz.hpg.com.br

[As partes desta mensagem que não continham texto foram removidas]



 

 __
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida PL/SQL

2006-07-03 Por tôpico José Resende Neto
Welvis,

FIRST e LAST são usados em ARRAYS e não em CURSORES.
Para arrays, acesse: http://www.psoug.org/reference/bulk_collect.html
Para cursores, acesse: http://www.psoug.org/reference/control_struct.html

Espero ter ajudado.
Neto.

  - Original Message - 
  From: Welvis Douglas Silva Moreto 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Monday, July 03, 2006 9:25 AM
  Subject: [oracle_br] Duvida PL/SQL


  Eu tenho como fazer um first em um curso dentro do
  Oracle.?


  att

  Welvis Douglas







  
  ___ 
  Você quer respostas para suas perguntas? Ou você sabe muito e quer 
compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
  http://br.answers.yahoo.com/
   

[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
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:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html