Chamando procedure do Oracle no PHP


Para quem trabalha com PHP e Oracle, vez ou outra pode surgir a necessidade de chamar uma procedure direta do Oracle em seu script PHP.

O processo é simples e basta utilizar PL/SQL para executar a procedure dentro do seu script PHP, por exemplo, suponha que você precise chamar a procedure de nome p_cal_precos e utilize o seguinte comando PL/SQL:

begin p_cal_precos(); end;

Com o PL/SQL em mãos agora é só trabalhar o PHP:

$procedure = "begin p_cal_precos(); end;";
$exec = OCIParse($conexao, $procedure);
OCIExecute($exec);

Os passos no PHP são extremanente simples, o que fizemos foi:

  • criei a variável $procedure e no seu conteúdo armazenei o comando PL/SQL;
  • depois fiz o parse, como em qualquer instrução PL/SQL utilizando OCI8, utilizando a minha conexão previamente estabelecida;
  • e por fim dei ordem para executar, novamente igual a qualquer instrução PL/SQL no OCI8.

Não existe segredo e nem dificuldade e pelo que rodei a Internet procurando não é muito bem explicado por aí.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.