Olá , gilmaslima!
Mto obrigado por disponibilizar parte do seu tempo pra me dar uma força aqui!
Eu já fazia algo parecido: DROP PROCEDURE IF EXISTS bd_projeto_transito.insere_infracao $$
Ou seja, ele apagava se já existisse.
Consegui resolver aqui, parece que era um problema em usar delimitadores. Vou postar o código aqui, o que gera erro e o que conegui fazer funcionar, caso mais alguem passe por isso um dia não ter tanta dor de cabeça:
O CÓDIGO SQL QUE GERAVA ERRO com PREPAREDSTATEMENT NO JAVA:
DELIMITER $$
DROP PROCEDURE IF EXISTS bd_projeto_transito.insere_proprietario $$
CREATE PROCEDURE bd_projeto_transito.insere_proprietario (IN _CPF BIGINT(20),IN _CNH BIGINT(20),
IN _nome VARCHAR(70), IN _rg BIGINT(20), IN _endereco VARCHAR(50), IN _numero INT(5),
IN _bairro VARCHAR(25), IN _cidade VARCHAR(50), IN _cep BIGINT(20),
IN _estado VARCHAR(2), IN _sexo VARCHAR(1))
BEGIN
INSERT INTO proprietario (cpf, cnh, nome, rg, endereco, numero, bairro, cidade, cep, estado,
sexo) VALUES (_CPF, _CNH, _nome, _rg, _endereco, _numero, _bairro, _cidade, _cep,
_estado, _sexo);
END $$
DELIMITER ;
Dai tirei os delimitadores e o drop, a partir dai funcionou(aqui inclui o código java pq to na correria pra terminar isso aqui hj, depois posto direitinho):
pstmt = (PreparedStatement) con.prepareStatement("CREATE PROCEDURE insere_proprietario(IN _CPF BIGINT(20),IN _CNH BIGINT(20), "
+ " IN _nome VARCHAR(70), IN _rg BIGINT(20), IN _endereco VARCHAR(50), IN _numero INT(5), "
+ " IN _bairro VARCHAR(25), IN _cidade VARCHAR(50), IN _cep BIGINT(20), "
+ " IN _estado VARCHAR(2), IN _sexo VARCHAR(1)) "
+ " BEGIN INSERT INTO proprietario (cpf, cnh, nome, rg, endereco, numero, bairro, cidade, cep, estado, "
+ " sexo) VALUES (_CPF, _CNH, _nome, _rg, _endereco, _numero, _bairro, _cidade, _cep, "
+ " _estado, _sexo);END");
pstmt.executeUpdate();
Novamente muito obrigado, gilmaslima!
Abraços!