Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wolfphw

Problemas com campos longos

Recommended Posts

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

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

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

Usando CAST talvez , de fato usei pouco BLOB.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.