CHAMAR PROCEDURE, PDO, PHP
Boa tarde pessoal! preciso de uma ajuda, preciso fazer um select dentro de uma procedure no banco de dados e uso PDO, nao to conseguinto chamar a procedure e não faço ideia como faço um select dela, segue abaixo os codigos de exmplo...
a primeira coisa que queria fazer era inserir o seguinte select
select COD_RAZAO, NOME, COD_CARTEIRA, NOME_REPRES, coalesce(EMISSAO,'') as EMISSAO, COD_GRUPO
from consulta_outras_razoes_ord_fat
where COD_CLIENTE = :idCustomer
order by emissao desc, cod_razao'
abaixo CONSULTA_OUTRAS_RAZOES_ORD_FAT é o nome da procedure no banco
function outrasRazoes($idCustomer) {
$pdo = conecta();
try {
$sql = "CALL CONSULTA_OUTRAS_RAZOES_ORD_FAT(':idCustomer')";
$consultar = $pdo->prepare($sql);
$consultar->bindValue(':idCustomer', $idCustomer, PDO::PARAM_INT);
$consultar->execute();
$resultado = $consultar->fetch(PDO::FETCH_OBJ);
if ($consultar->rowCount() > 0) {
return $resultado;
} else {
return false;
}
} catch (PDOException $e) {
echo $e->getMessage();
}
}
abaixo segue a procedure do banco
begin
for
select OUTRAS_RAZOES.cod_razao,CLIENTES.NOME, CLIENTES.COD_CARTEIRA, REPRESENTANTES.NOME AS NOME_REPRES, clientes.cod_grupo
from clientes
inner join outras_razoes on (clientes.codigo = outras_razoes.cod_razao)
inner join REPRESENTANTES on (CLIENTES.REPRESENTANTE=REPRESENTANTES.CODIGO)
where OUTRAS_RAZOES.cod_cliente=:cod
into cod_razao, nome, cod_carteira, nome_repres, cod_grupo
do
begin
select max(notas.emissao) as emissao
from notas
inner join notas_item on (notas.nota = notas_item.nota)
inner join naturezas_operacao on (notas_item.cod_natureza = naturezas_operacao.cod_natureza) and (notas_item.seq = naturezas_operacao.seq)
where notas.cod_cliente = :cod_razao
and naturezas_operacao.tipo = 1
into emissao;
begin
suspend;
end
endend
Discussão (0)
Carregando comentários...