segue a sintaxe correta do comando abaixo:

-----
insert into foo 
  (a,b,c)
  (select                   AA,
                            BB,
                            CC 
  from
    (select max(a) +1       AA      from foo), 
    (select 'new'           BB,
            'old'           CC      from dual));

------
att.
Rubens
--- Em seg, 28/3/11, Jean Carlos Reddiga <jean.redd...@gmail.com> escreveu:

De: Jean Carlos Reddiga <jean.redd...@gmail.com>
Assunto: RES: [oracle_br] Problemas no insert.
Para: oracle_br@yahoogrupos.com.br
Data: Segunda-feira, 28 de Março de 2011, 9:03







 



  


    
      
      
      Não funcionou.



________________________



Jean Carlos Reddiga



<mailto:sidiane.schnai...@rkam.com.br> jean.redd...@gmail.com



(47) 9905 4540



De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em

nome de Sergio

Enviada em: segunda-feira, 28 de março de 2011 08:46

Para: oracle_br@yahoogrupos.com.br

Assunto: RES: [oracle_br] Problemas no insert.



No lugar de "values" coloque "as".



Boa sorte!



-----Mensagem original-----

De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>

[mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>

]Em

nome de Jean Carlos Reddiga

Enviada em: Monday, March 28, 2011 08:30

Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> 

Assunto: [oracle_br] Problemas no insert.



Senhores, segue a baixo o problema que estou enfrentando em um insert.



Ao executar o insert abaixo esta me retornando a seguinte mensagem.



ORA-00947: não há valores suficientes



insert into craplcm



(cdcooper,



dtmvtolt,



cdagenci,



cdbccxlt,



nrdolote,



nrdctabb,



nrdocmto,



cdhistor,



nrseqdig,



nrdctitg,



vllanmto)



values



((select /*+ rule */



rda.cdcooper as cdcooper,



sysdate as dtmvtolt,



rda.cdagenci as cdagenci,



1 as cdbccxlt,



(1800 + rda.cdagenci) as nrdolote,



rda.nrdconta as nrdctabb,



(rda.nraplica * rownum) as nrdocmto,



558 as cdhistor,



rownum as nrseqdig,



ass.nrdctitg as nrdctitg,



rda.vlsdrdca as vllanmto



from craprda rda,



crapass ass



where ass.cdcooper = 1



and ass.cdagenci = 1



and rda.cdcooper = ass.cdcooper



and rda.nrdconta = ass.nrdconta))



Outra pergunta, estou fazendo isso para ganhar performance, pois hoje eu

uso

o select para gerar um cursos com bulk colect, e utilizo o forall para

fazer

o insert.



Alguém sabe me dizer se o insert diretamente com o select ira proporcionar

uma melhor performance do que o cursor com bulk collect junto com o forall

insert????



Segue o desc das tabelas referidas.



SQL> desc craplcm;



Name Type Nullable Default Comments



-------- ------------ -------- ------- --------



DTMVTOLT DATE



CDAGENCI NUMBER(3)



CDBCCXLT NUMBER(3)



NRDOLOTE NUMBER(6)



NRDCONTA NUMBER(15) Y



NRDOCMTO NUMBER(15)



CDHISTOR NUMBER(4) Y



NRSEQDIG NUMBER(5) Y



VLLANMTO NUMBER(38,4) Y



NRDCTABB NUMBER(8)



CDPESQBB VARCHAR2(13) Y



VLDOIPMF NUMBER(11,2) Y



NRAUTDOC NUMBER(6) Y



NRSEQUNI NUMBER(6) Y



CDBANCHQ NUMBER(4) Y



CDCMPCHQ NUMBER(4) Y



CDAGECHQ NUMBER(4) Y



NRCTACHQ NUMBER(13) Y



NRLOTCHQ NUMBER(7) Y



SQLOTCHQ NUMBER(6) Y



DTREFERE DATE Y



HRTRANSA NUMBER(5) Y



CDOPERAD VARCHAR2(10) Y



DSIDENTI VARCHAR2(50) Y



CDCOOPER NUMBER(5)



NRDCTITG VARCHAR2(11) Y



DSCEDENT VARCHAR2(13) YSQL> desc craprda;



Name Type Nullable Default Comments



-------- ------------ -------- ------- --------



CDAGENCI NUMBER(3)



CDBCCXLT NUMBER(3)



DTMVTOLT DATE



NRDOLOTE NUMBER(6)



NRDCONTA NUMBER(8)



NRAPLICA NUMBER(6)



VLAPLICA NUMBER(38,2) Y



DTINIPER DATE Y



DTFIMPER DATE Y



DTCALCUL DATE Y



INANIVER NUMBER(1) Y



INSAQTOT NUMBER(1) Y



INCALMES NUMBER(1) Y



VLSDRDCA NUMBER(38,2) Y



QTAPLMFX NUMBER(38,4) Y



QTRGTMFX NUMBER(38,4) Y



DTSAQTOT DATE Y



CDAGEASS NUMBER(3) Y



CDSECEXT NUMBER(3) Y



VLSDRDAN NUMBER(17,2) Y



DTSDRDAN DATE Y



DTINIEXT DATE Y



DTFIMEXT DATE Y



QTMESEXT NUMBER(1) Y



TPAPLICA NUMBER(1) Y



VLABCPMF NUMBER(38,2) Y



VLABONRD NUMBER(38,2) Y



VLABIORD NUMBER(38,2) Y



VLABDIOF NUMBER(38,2) Y



DTSDFMES DATE Y



VLSLFMES NUMBER(11,2) Y



TPEMIEXT NUMBER(2) Y



VLRGTACU NUMBER(38,2) Y



FLGCTAIN NUMBER(1) Y 0



FLGDEBCI NUMBER(1) Y 0



CDCOOPER NUMBER(5)



VLSDEXTR NUMBER(38,2) Y



DTVENCTO DATE Y



QTDIAAPL NUMBER(4) Y



QTDIAUTI NUMBER(4) Y



VLSLTXMM NUMBER(13,4) Y



VLSLTXMX NUMBER(13,4) Y



DTATSLMM DATE Y



DTATSLMX DATE Y



-------- -------- ------- --------



CDAGENCI NUMBER(3)



CDBCCXLT NUMBER(3)



DTMVTOLT DATE



NRDOLOTE NUMBER(6)



NRDCONTA NUMBER(8)



NRAPLICA NUMBER(6)



VLAPLICA NUMBER(38,2) Y



DTINIPER DATE Y



DTFIMPER DATE Y



DTCALCUL DATE Y



INANIVER NUMBER(1) Y



INSAQTOT NUMBER(1) Y



INCALMES NUMBER(1) Y



VLSDRDCA NUMBER(38,2) Y



QTAPLMFX NUMBER(38,4) Y



QTRGTMFX NUMBER(38,4) Y



DTSAQTOT DATE Y



CDAGEASS NUMBER(3) Y



CDSECEXT NUMBER(3) Y



VLSDRDAN NUMBER(17,2) Y



DTSDRDAN DATE Y



DTINIEXT DATE Y



DTFIMEXT DATE Y



QTMESEXT NUMBER(1) Y



TPAPLICA NUMBER(1) Y



VLABCPMF NUMBER(38,2) Y



VLABONRD NUMBER(38,2) Y



VLABIORD NUMBER(38,2) Y



VLABDIOF NUMBER(38,2) Y



DTSDFMES DATE Y



VLSLFMES NUMBER(11,2) Y



TPEMIEXT NUMBER(2) Y



VLRGTACU NUMBER(38,2) Y



FLGCTAIN NUMBER(1) Y 0



FLGDEBCI NUMBER(1) Y 0



CDCOOPER NUMBER(5)



VLSDEXTR NUMBER(38,2) Y



DTVENCTO DATE Y



QTDIAAPL NUMBER(4) Y



QTDIAUTI NUMBER(4) Y



VLSLTXMM NUMBER(13,4) Y



VLSLTXMX NUMBER(13,4) Y



DTATSLMM DATE Y



DTATSLMX DATE Y



SQL> desc crapass;



Name Type Nullable Default Comments



-------- ------------ -------- ------- --------



NRDCONTA NUMBER(8)



CDAGENCI NUMBER(3) Y



CDEMPRES NUMBER(5) Y



NMPRIMTL VARCHAR2(40) Y



DTDEMISS DATE Y



NRCPFCGC NUMBER(14) Y



CDSECEXT NUMBER(3) Y



NRDCTITG VARCHAR2(11) Y



CDCOOPER NUMBER(5)



________________________



Jean Carlos Reddiga



<mailto:sidiane.schnai...@rkam.com.br

<mailto:sidiane.schnaider%40rkam.com.br> > jean.redd...@gmail.com

<mailto:jean.reddiga%40gmail.com> 



(47) 9905 4540



[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]





    
     

    
    


 



  






      

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

Responder a