Dois Update ao mesmo tempo stored procedure

5 respostas
J

Como faço para rodar os dois update abaixo na mesma stored procedure no mysql? Quando tento colocar os dois updates na mesma procedure não deixa, pois gera erro na criação.

UPDATE websites SET data = current_date() WHERE id = var_id and quebrado = 0;

UPDATE websites SET quebrado = var_qtd HERE id = var_id;

Não posso juntar os dois updates em um só, tem que ser os dois updates separados.


Se não tiver como utilizar dois updates ao mesmo tempo, eu criarei duas stored procedure (corrige_website e corrige_website1), uma stored para cada update, porem gostaria de saber como faço para executar as duas store procedure conforme chamada abaixo.

$stmt_corrige = $PDO -> prepare(‘call corrige_website( ?, ? )’);

$stmt_corrige -> bindParam(1, $website[“id”],PDO::PARAM_INT) ;

$stmt_corrige -> bindParam(2, $numero, PDO::PARAM_INT) ;

5 Respostas

TerraSkilll

Coloque o código completo da procedure e a mensagem de erro que está dando, pra facilitar pra quem quer te ajudar.

Abraço.

Gabriel432135

Esse TerraSkill é o papa-tópicos kkkkk

J

Código atual da procedure:
UPDATE websites SET quebrado = var_qtd, data = current_date() WHERE id = var_id

Preciso que a procedure fique assim:

UPDATE websites SET data = current_date() WHERE id = var_id and quebrado = 0;

UPDATE websites SET quebrado = var_qtd WHERE id = var_id;

Mensagem do erro quando tento colocar os dois update na mesma procedure:

Um ou mais erros ocorreram durante o processamento da sua requisição:
A seguinte consulta falhou: “CREATE DEFINER=hotbuscacom@% PROCEDURE corrige_website2(IN var_id INT(11), IN var_qtd INT(11)) NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER UPDATE websites SET data = current_date() WHERE id = var_id and quebrado = 0; UPDATE websites SET quebrado = var_qtd WHERE id = var_id;”
Mensagens do MySQL : #1064 - Você tem um erro de sintaxe no seu SQL próximo a ‘UPDATE websites SET quebrado = var_qtd HERE id = var_id’ na linha 3

javaflex

HERE muda pra where

J

Já corrigir o here para where mas continua o mesmo erro

Criado 1 de setembro de 2019
Ultima resposta 2 de set. de 2019
Respostas 5
Participantes 4