Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal preciso fazer a seguinte p mas esta apresentando erro
A logica é aseguinte
Verificar a tabela TBA
se o status XX
então atualiza a tabela TBB conforme o ID da tabela TBA
CREATE PROCEDURE Ajuste (IN dados TEXT)
BEGIN
IF(SELECT COD into ID FROM TBA WHERE DADO=dados)
THEN
UPDATE TBB SET status=2 Where ID=COD;
END IF;CALL Ajuste('XX');
Paulo não deu certo
Opa, me equivoquei um pouco xD.
essa aqui funciona, vc só pecisa ajustar ela
CREATE PROCEDURE pcr_atualiza_saldoSMS(IN saldo INT, IN clientesistema INT)
BEGIN
SET @sql_text:=CONCAT("UPDATE clientessistemas SET saldo=",saldo," WHERE id=",clientesistema);
PREPARE stmt FROM @sql_text;
EXECUTE stmt;CREATE PROCEDURE pcr_atualiza_saldoSMS(IN saldo INT, IN clientesistema INT)
BEGIN
SET @s = saldo;
SET @c = clientesistema;
UPDATE clientessistemas SET saldo=@s WHERE id=@c;CREATE PROCEDURE Ajuste (IN dados TEXT)
BEGIN
SET @d = dados;
IF(SELECT COD into ID FROM TBA WHERE DADO=@d) UPDATE TBB SET status=2 Where @ID=COD;
END IF;
END;EDIT: talvez vc precise de um LIMIT no select
no mysql vc nao precisa declarar as variaveis, que nem ali no 'INTO ID'
mas se vc quiser utilizar ela, vc precisa usar @ID, nao tenho certeza se esse é o erro, mas tenta assim
CREATE PROCEDURE Ajuste (IN dados TEXT)
BEGIN
IF(SELECT COD into ID FROM TBA WHERE DADO=@dados)
THEN