ola boa noite a todos...
sou um utilizador de base de dados oracle mas decidi invergar para mysql e estou tendo dificuldade em executar as minhas
funções pl sql
a minha função é esta:
delimiter $
CREATE FUNCTION incerir_produto(descricao_in varchar(500),preco_in float) RETURNS int(2)
BEGIN
declare qnt_prod int;
SELECT COUNT(*) INTO qnt_prod FROM PRODUTO;
IF qnt_prod = 0 THEN
INSERT INTO PRODUTO(ID,NOME,PRECO) VALUES(1,descricao_in,preco_in);
RETURN 1;
ELSE
INSERT INTO PRODUTO (ID,NOME,PRECO) VALUES(qnt_prod +1,descricao_in,preco_in);
RETURN 1;
END IF;
END $
delimiter ;
e faço a chamada da seguinte forma em php
$conexao = new PDO("mysql:host=localhost;dbname=mbd","FCG", "fcpass");
$this->registar_dados($produto);
$result = $conexao->prepare("select incerir_produto(:DESCRICAO_IN,:PRECO_IN)");
//$result->bindParam(1, $id, PDO::PARAM_STR);
$result->bindParam(':DESCRICAO_IN', $this->descricao, PDO::PARAM_STR,400);
$result->bindParam(':PRECO_IN', $this->preco, PDO::PARAM_INT,400);
$result->execute();
agradeceria a ajuda...
sou um utilizador de base de dados oracle mas decidi invergar para mysql e estou tendo dificuldade em executar as minhas
funções pl sql
a minha função é esta:
delimiter $
CREATE FUNCTION incerir_produto(descricao_in varchar(500),preco_in float) RETURNS int(2)
BEGIN
declare qnt_prod int;
SELECT COUNT(*) INTO qnt_prod FROM PRODUTO;
IF qnt_prod = 0 THEN
INSERT INTO PRODUTO(ID,NOME,PRECO) VALUES(1,descricao_in,preco_in);
RETURN 1;
ELSE
INSERT INTO PRODUTO (ID,NOME,PRECO) VALUES(qnt_prod +1,descricao_in,preco_in);
RETURN 1;
END IF;
END $
delimiter ;
e faço a chamada da seguinte forma em php
$conexao = new PDO("mysql:host=localhost;dbname=mbd","FCG", "fcpass");
$this->registar_dados($produto);
$result = $conexao->prepare("select incerir_produto(:DESCRICAO_IN,:PRECO_IN)");
//$result->bindParam(1, $id, PDO::PARAM_STR);
$result->bindParam(':DESCRICAO_IN', $this->descricao, PDO::PARAM_STR,400);
$result->bindParam(':PRECO_IN', $this->preco, PDO::PARAM_INT,400);
$result->execute();
agradeceria a ajuda...