Powered By Blogger

terça-feira, 27 de julho de 2010

Utilizando ADODB do PHP para inserir registros em campos do tipo CLOB no Oracle

Quando precisamos registrar em uma tabela do Oracle um campo que possua mais de 4000 caractéres, temos como opção o tipo CLOB, que é um dos "equivalentes" ao tipo TEXT do MySQL por exemplo. A única coisa que deve ser observada para utilizar esse tipo de formato de dado, é que o procedimento de inserir o registro na tabela é feito em duas etapas, sendo que na primeira etapa é realizado o insert com um valor nulo para o campo CLOB, e na segunda etapa é realizado o update do mesmo registro que acabou de ser inserido, só que desta vez deve ser passado o valor do campo CLOB.

Abaixo segue um exemplo utilizando os métodos Execute e UpdateClob da classe AdoDB para PHP.

1) DDL de criação da tabela que contém um campo CLOB:

CREATE TABLE XML_SERASA
(
"CNPJ" VARCHAR2(30 BYTE),
"DATA_SERASA" NUMBER(8,0),
"XML" CLOB
) ;

2) Código que implementa a inserção de um registro na tabela XML_SERASA.

$this->db->StartTrans();
$this->db->Execute("insert into XML_SERASA ( CNPJ, DATA_SERASA, XML ) values ( '$requisitado', '$data_cons', null)");
$sucesso = $this->db->UpdateClob('XML_SERASA', 'XML', $xml, "CNPJ = '$requisitado' AND DATA_SERASA = '$data_cons'");
$this->db->CompleteTrans();

Um comentário:

  1. Merkur Gold Strike Safety Razor - FEBCASINO
    Merkur's Gold Strike Safety Razor, https://sol.edu.kg/ Merkur Platinum Edge septcasino Plated Finish, German, Gold-Plated, Satin https://febcasino.com/review/merit-casino/ Chrome Finish. septcasino.com Merkur has a more aggressive looking,

    ResponderExcluir