Fórum procedimento armazenado em mysql #469861

12/02/2014

0

tenho a seguinte base de dado e a tabela para a criação SP em mysql:

CREATE DATABASE Db_CadastroLivro;
USE Db_CadastroLivro;


CREATE TABLE Tb_Livro
(
CodLivro INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
TituloLivro VARCHAR(100) NOT NULL,
ISBNLivro VARCHAR(30)UNIQUE NOT NULL,
AnoEdicaoLivro DATE NOT NULL
);

crio o procedimento (para inserir dados )com DELIMITER //, o que acontece é ele dá um erro no ultimo DELIMITER, gostaria de saber porque dá esse ERRO. O código é o seguinte:

DELIMITER //

CREATE PROCEDURE SP_CADASTROLIVRO
(IN
TituloLivro VARCHAR(100),
ISBNLivro VARCHAR(30),
AnoEdicaoLivro DATE
)

BEGIN
INSERT INTO Tb_Livro
(
TituloLivro,
ISBNLivro,
AnoEdicaoLivro
)
VALUES
(
TituloLivro,
ISBNLivro,
AnoEdicaoLivro
);
END //
DELIMITER;

mas quando uso o mesmo procedimento só que sei o ultimo DELIMITER ele parece que dá serto, mas quando tento chama-lo (CALL NOME_PROCEDIMENTO), dá uma mensagem de ERRO dizendo o procedimento não existe, onde está o ERRO deste procedimento?

OBRIGADO PELA AJUDA


Anacleto Linux
Anacleto Linux

Anacleto Linux

Responder

Posts

13/02/2014

William

Colega testei dessa maneira no MySQL 5.6 e funcionou normalmente:

DELIMITER $$

CREATE PROCEDURE `SP_CADASTROLIVRO`(IN 
TituloLivro VARCHAR(100),
ISBNLivro VARCHAR(30),
AnoEdicaoLivro DATE
)
BEGIN 
INSERT INTO Tb_Livro
(
TituloLivro,
ISBNLivro,
AnoEdicaoLivro
)
VALUES
(
TituloLivro,
ISBNLivro,
AnoEdicaoLivro
);
END$$

DELIMITER ;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar