wolfphw 60 Denunciar post Postado Junho 8, 2015 Blz povo.. já vou falar de início, sou novato no oracle estou com um problema, estou utilizando o oracle 11g. Estou fazendo um sisteminha na empresa e preciso de um campo que caiba muitos caracteres, então o varchar2 não cabe a mim, pois ele limita a 4000. Dai pesquisando vi que é para utilizar o CLOB ou BLOB, mas mesmo utilizando eles não me deixa passar de 4000 caracteres. Eles não seriam para mais que isso??? Alguém pode me dar um help... Desde já agradeço.... Verifiquei que quando tento colocar no campo CLOB uma string com mais de 4000 caracteres ele me dá o seguinte erro. *Cause: The string literal is longer than 4000 characters. *Action: Use a string literal of at most 4000 characters. Longer values may only be entered using bind variables. Como transformar o conteúdo do texto no formado que ele pede??? Como fazer nesse código? INSERT INTO CONTEUDO (TITULO, TEXTO) VALUES ('Titulo teste','A Apple anunciou durante a Worldwide...'); Coloquei um texto curto só para mostrar o exemplo de como estou fazendo o insert Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 8, 2015 tente algo assim (exemplo) declare vc clob; begin vb := '..........'; insert into conteudo ('teste',vc); end; Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 9, 2015 Não tem uma outra forma? Que tipo nesse caso pra cada tabela que eu precisar inserir um texto vou ter que criar um procedure... tipo uma pra inserir e outra pra editar o campo Tipo não teria algo no estilo INSERT INTO CONTEUDO (TITULO, TEXTO) VALUES ('Titulo teste',TO_CLOB('A Apple anunciou durante a Worldwide...')); Tipo um TO_CLOB, um comando que pegue o valor e já transforma em binario ??? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 9, 2015 Usando CAST talvez , de fato usei pouco BLOB. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 9, 2015 Tipo criei a procedure e mesmo assim me dá problema aqui vai o exemplo que estou utilizando como teste na minha base tabela: TESTE ID (number) TEXTO (clob) 1 Texto exemplo 01 2 Texto exemplo 02 Procedure CREATE OR REPLACE PROCEDURE TESTE_UPDATE ( ID_ENTRADA IN NUMBER , TEXTO_ENTRADA IN CLOB ) AS BEGIN UPDATE TESTE SET TEXTO=TEXTO_ENTRADA WHERE ID=ID_ENTRADA; END TESTE_UPDATE; Execução SQL CALL TESTE_UPDATE('1','123456789 217897124897748917897891789378912738917389271897389217489721897389217897428917892719837189732178927381728974891728937189738912783917982371897328917489712897389718974982789379274892749823789472893472893734897298748927438972489723897489273489274892789347289734892734897289781978937218973198732981738917839712897894718974812783971892378921389179837128738917289378912897891378987218932189873218973218978318972389173891278937189738912748989714897289178937982719017914732897134298731987498312743981274918273489127349821734128947219873419827413982749812739182749812374981327894123798471289473128974189274981273498127439812734891274398127431289074123987412908712897341289731248973421897412398741328974389723187921387989738739241897432198743219872341897342198734129873421897342897143982743297843219874321987142398734891798317247843217984321798043721987341290874318920743921874312897431289743219873421897314289713249871239874893172984321794317289473129783291889731278932187943789873491289732148973124987312498713249781342897134298743218974321897143298741328974312978431298714329871439278489731781493789342789134278941327891498372178943287941328973214897349821743128973489217432189741238974213897431289743218974312897431289741289317241239802178971248977489178978917893789127389173892718973892174897218973892178974289178927198371897321789273817289748917289371897389127839179823718973289174897128973897189749827893792748927498237894728934728937348972987489274389724897238974892734892748927893472897348927348972897819789372189731987329817389178397128978947189748127839718923789213891798371287389172893789128978913789872189321898732189732189783189723891738912789371897389127489897148972891789379827190179147328971342987319874983127439812749182734891273498217341289472198734198274139827498127391827498123749813278941237984712894731289741892749812734981274398127348912743981274312890741239874129087128973412897312489734218974123987413289743897231879213879897387392418974321987432198723418973421987341298734218973428971439827432978432198743219871423987348917983172478432179843217980437219873412908743189207439218743128974312897432198734218973142897132498712398748931729843217943172894731297832918897312789321879437898734912897321489731249873124987132497813428971342987432189743218971432987413289743129784312987143298714392784897317814937893427891342789413278914983721789432879413289732148973498217431289734892174321897412389742138974312897432189743128974312897412893172412398021789712489774891789789178937891273891738927189738921748972189738921789742891789271983718973217892738172897489172893718973891278391798237189732891748971289738971897498278937927489274982378947289347289373489729874892743897248972389748927348927489278934728973489273489728978197893721897319873298173891783971289789471897481278397189237892138917983712873891728937891289789137898721893218987321897321897831897238917389127893718973891274898971489728917893798271901791473289713429873198749831274398127491827348912734982173412894721987341982741398274981273918274981237498132789412379847128947312897418927498127349812743981273489127439812743128907412398741290871289734128973124897342189741239874132897438972318792138798973873924189743219874321987234189734219873412987342189734289714398274329784321987432198714239873489179831724784321798432179804372198734129087431892074392187431289743128974321987342189731428971324987123987489317298432179431728947312978329188973127893218794378987349128973214897312498731249871324978134289713429874321897432189714329874132897431297843129871432987143927848973178149378934278913427894132789149837217894328794132897321489734982174312897348921743218974123897421389743128974321897431289743128974128931724123980217897124897748917897891789378912738917389271897389217489721897389217897428917892719837189732178927381728974891728937189738912783917982371897328917489712897389718974982789379274892749823789472893472893734897298748927438972489723897489273489274892789347289734892734897289781978937218973198732981738917839712897894718974812783971892378921389179837128738917289378912897891378987218932189873218973218978318972389173891278937189738912748989714897289178937982719017914732897134298731987498312743981274918273489127349821734128947219873419827413982749812739182749812374981327894123798471289473128974189274981273498127439812734891274398127431289074123987412908712897341289731248973421897412398741328974389723187921387989738739241897432198743219872341897342198734129873421897342897143982743297843219874321987142398734891798317247843217984321798043721987341290874318920743921874312897431289743219873421897314289713249871239874893172984321794317289473129783291889731278932187943789873491289732148973124987312498713249781342897134298743218974321897143298741328974312978431298714329871439278489731781493789342789134278941327891498372178943287941328973214897349821743128973489217432189741238974213897431289743218974312897431289741289317241239802178971248977489178978917893789127389173892718973892174897218973892178974289178927198371897321789273817289748917289371897389127839179823718973289174897128973897189749827893792748927498237894728934728937348972987489274389724897238974892734892748927893472897348927348972897819789372189731987329817389178397128978947189748127839718923789213891798371287389172893789128978913789872189321898732189732189783189723891738912789371897389127489897148972891789379827190179147328971342987319874983127439812749182734891273498217341289472198734198274139827498127391827498123749813278941237984712894731289741892749812734981274398127348912743981274312890741239874129087128973412897312489734218974123987413289743897231879213879897387392418974321987432198723418973421987341298734218973428971439827432978432198743219871423987348917983172478432179843217980437219873412908743189207439218743128974312897432198734218973142897132498712398748931729843217943172894731297832918897312789321879437898734912897321489731249873124987132497813428971342987432189743218971432987413289743129784312987143298714392784897317814937893427891342789413278914983721789432879413289732148973498217431289734892174321897412389742138974312897432189743128974312897412893172412398021789712489774891789789178937891273891738927189738921748972189738921789742891789271983718973217892738172897489172893718973891278391798237189732891748971289738971897498278937927489274982378947289347289373489729874892743897248972389748927348927489278934728973489273489728978197893721897319873298173891783971289789471897481278397189237892138917983712873891728937891289789137898721893218987321897321897831897238917389127893718973891274898971489728917893798271901791473289713429873198749831274398127491827348912734982173412894721987341982741398274981273918274981237498132789412379847128947312897418927498127349812743981273489127439812743128907412398741290871289734128973124897342189741239874132897438972318792138798973873924189743219874321987234189734219873412987342189734289714398274329784321987432198714239873489179831724784321798432179804372198734129087431892074392187431289743128974321987342189731428971324987123987489317298432179431728947312978329188973127893218794378987349128973214897312498731249871324978134289713429874321897432189714329874132897431297843129871432987143927848973178149378934278913427894132789149837217894328794132897321489734982174312897348921743218974123897421389743128974321897431289743128974128931724123980 123456789 123456789 123456789 123456789 123456789') Nesse exemplo tem mais de 7000 caracteres, e ele dá erro, se eu mando menos de 4000 ele passa senão ele dá aquele erro. Agora se eu faço isso ele passa certo DECLARE ID_ENTRADA NUMBER; TEXTO_ENTRADA CLOB; BEGIN ID_ENTRADA := '1'; TEXTO_ENTRADA := '123456789 217897124897748917897891789378912738917389271897389217489721897389217897428917892719837189732178927381728974891728937189738912783917982371897328917489712897389718974982789379274892749823789472893472893734897298748927438972489723897489273489274892789347289734892734897289781978937218973198732981738917839712897894718974812783971892378921389179837128738917289378912897891378987218932189873218973218978318972389173891278937189738912748989714897289178937982719017914732897134298731987498312743981274918273489127349821734128947219873419827413982749812739182749812374981327894123798471289473128974189274981273498127439812734891274398127431289074123987412908712897341289731248973421897412398741328974389723187921387989738739241897432198743219872341897342198734129873421897342897143982743297843219874321987142398734891798317247843217984321798043721987341290874318920743921874312897431289743219873421897314289713249871239874893172984321794317289473129783291889731278932187943789873491289732148973124987312498713249781342897134298743218974321897143298741328974312978431298714329871439278489731781493789342789134278941327891498372178943287941328973214897349821743128973489217432189741238974213897431289743218974312897431289741289317241239802178971248977489178978917893789127389173892718973892174897218973892178974289178927198371897321789273817289748917289371897389127839179823718973289174897128973897189749827893792748927498237894728934728937348972987489274389724897238974892734892748927893472897348927348972897819789372189731987329817389178397128978947189748127839718923789213891798371287389172893789128978913789872189321898732189732189783189723891738912789371897389127489897148972891789379827190179147328971342987319874983127439812749182734891273498217341289472198734198274139827498127391827498123749813278941237984712894731289741892749812734981274398127348912743981274312890741239874129087128973412897312489734218974123987413289743897231879213879897387392418974321987432198723418973421987341298734218973428971439827432978432198743219871423987348917983172478432179843217980437219873412908743189207439218743128974312897432198734218973142897132498712398748931729843217943172894731297832918897312789321879437898734912897321489731249873124987132497813428971342987432189743218971432987413289743129784312987143298714392784897317814937893427891342789413278914983721789432879413289732148973498217431289734892174321897412389742138974312897432189743128974312897412893172412398021789712489774891789789178937891273891738927189738921748972189738921789742891789271983718973217892738172897489172893718973891278391798237189732891748971289738971897498278937927489274982378947289347289373489729874892743897248972389748927348927489278934728973489273489728978197893721897319873298173891783971289789471897481278397189237892138917983712873891728937891289789137898721893218987321897321897831897238917389127893718973891274898971489728917893798271901791473289713429873198749831274398127491827348912734982173412894721987341982741398274981273918274981237498132789412379847128947312897418927498127349812743981273489127439812743128907412398741290871289734128973124897342189741239874132897438972318792138798973873924189743219874321987234189734219873412987342189734289714398274329784321987432198714239873489179831724784321798432179804372198734129087431892074392187431289743128974321987342189731428971324987123987489317298432179431728947312978329188973127893218794378987349128973214897312498731249871324978134289713429874321897432189714329874132897431297843129871432987143927848973178149378934278913427894132789149837217894328794132897321489734982174312897348921743218974123897421389743128974321897431289743128974128931724123980217897124897748917897891789378912738917389271897389217489721897389217897428917892719837189732178927381728974891728937189738912783917982371897328917489712897389718974982789379274892749823789472893472893734897298748927438972489723897489273489274892789347289734892734897289781978937218973198732981738917839712897894718974812783971892378921389179837128738917289378912897891378987218932189873218973218978318972389173891278937189738912748989714897289178937982719017914732897134298731987498312743981274918273489127349821734128947219873419827413982749812739182749812374981327894123798471289473128974189274981273498127439812734891274398127431289074123987412908712897341289731248973421897412398741328974389723187921387989738739241897432198743219872341897342198734129873421897342897143982743297843219874321987142398734891798317247843217984321798043721987341290874318920743921874312897431289743219873421897314289713249871239874893172984321794317289473129783291889731278932187943789873491289732148973124987312498713249781342897134298743218974321897143298741328974312978431298714329871439278489731781493789342789134278941327891498372178943287941328973214897349821743128973489217432189741238974213897431289743218974312897431289741289317241239802178971248977489178978917893789127389173892718973892174897218973892178974289178927198371897321789273817289748917289371897389127839179823718973289174897128973897189749827893792748927498237894728934728937348972987489274389724897238974892734892748927893472897348927348972897819789372189731987329817389178397128978947189748127839718923789213891798371287389172893789128978913789872189321898732189732189783189723891738912789371897389127489897148972891789379827190179147328971342987319874983127439812749182734891273498217341289472198734198274139827498127391827498123749813278941237984712894731289741892749812734981274398127348912743981274312890741239874129087128973412897312489734218974123987413289743897231879213879897387392418974321987432198723418973421987341298734218973428971439827432978432198743219871423987348917983172478432179843217980437219873412908743189207439218743128974312897432198734218973142897132498712398748931729843217943172894731297832918897312789321879437898734912897321489731249873124987132497813428971342987432189743218971432987413289743129784312987143298714392784897317814937893427891342789413278914983721789432879413289732148973498217431289734892174321897412389742138974312897432189743128974312897412893172412398021789712489774891789789178937891273891738927189738921748972189738921789742891789271983718973217892738172897489172893718973891278391798237189732891748971289738971897498278937927489274982378947289347289373489729874892743897248972389748927348927489278934728973489273489728978197893721897319873298173891783971289789471897481278397189237892138917983712873891728937891289789137898721893218987321897321897831897238917389127893718973891274898971489728917893798271901791473289713429873198749831274398127491827348912734982173412894721987341982741398274981273918274981237498132789412379847128947312897418927498127349812743981273489127439812743128907412398741290871289734128973124897342189741239874132897438972318792138798973873924189743219874321987234189734219873412987342189734289714398274329784321987432198714239873489179831724784321798432179804372198734129087431892074392187431289743128974321987342189731428971324987123987489317298432179431728947312978329188973127893218794378987349128973214897312498731249871324978134289713429874321897432189714329874132897431297843129871432987143927848973178149378934278913427894132789149837217894328794132897321489734982174312897348921743218974123897421389743128974321897431289743128974128931724123980 123456789 123456789 123456789 123456789 123456789'; TESTE_UPDATE( ID_ENTRADA => ID_ENTRADA, TEXTO_ENTRADA => TEXTO_ENTRADA ); --rollback; END; Mas não posso chamar via código PHP assim né, só via CALL... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 9, 2015 No PHP deve haver algum type compatível , algum memo da vida. http://www.oracle.com/technetwork/articles/fuecks-lobs-095315.html Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 10, 2015 Consegui resolver, utilizando a procedure mesmo, mas com uma alteração da que estava escrevendo e utilizando outro método para executar a procedure TABELA EXEMPLO TB_TESTE ID (number) TEXTO (clob) 1 Texto exemplo 01 2 Texto exemplo 02 PROCEDURE CREATE OR REPLACE PROCEDURE TESTE_UPDATE ( ID_ENTRADA IN NUMBER , TEXTO_ENTRADA IN CLOB ) AS BEGIN UPDATE TB_TESTE SET TEXTO=TEXTO_ENTRADA WHERE ID=ID_ENTRADA; END TESTE_UPDATE; EXECUTANDO A PROCEDURE BEGIN TESTE_UPDATE('1','Texto longo até 32000 caracteres'); END; Compartilhar este post Link para o post Compartilhar em outros sites