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]