Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Castro

Procedure com If not exists

Recommended Posts

Boa tarde a todos.

Sempre programei em SqlServer e agora preciso desenvolver um sistema que irá usar o MySql.
Estou precisando fazer uma procedure, porém está dando pau, está assim:

CREATE PROCEDURE WordInsert (
	
	IN Word VARCHAR(150),
	OUT IdWord INT(11)            
	
)	
	IF NOT EXISTS (SELECT IdWord IdWord FROM Word WHERE Word = Word) THEN
			INSERT INTO 
				Word
			(
				Word           
			)
			VALUES
			(
				Word
			);
	END IF


	SELECT LAST_INSERT_ID()

Esta dando o erro:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 16

Imagino que seja em IF NOT EXISTS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução

DELIMITER $
CREATE 
PROCEDURE `DictionaryInsert`(OUT IdWord INT, IN NWord VARCHAR(150))
BEGIN
IF NOT EXISTS (SELECT IdWord FROM Dictionary WHERE Word = NWord) THEN
INSERT INTO Dictionary(Word) VALUES(NWord);
SELECT SCOPE_IDENTITY() INTO IdWord;
END IF;
END$
DELIMITER ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.