2014-12-02 5 views
1

내가하고 싶어 : 내 테이블에 데이터가 없다면 MisLibros가 테이블 전자 북에서 값을 입력하고, 그러나 CALL을 시도 할 때 mysql : # 1054 - Unknown 에서 열 'Ebook.IdEbook' '절 곳'Mysql이 테이블 b에 삽입 할 때 테이블에 데이터를 삽입

PD : 나는 UPDATE를 사용하지 않을, 내가 예와 INSERT에게

CREATE PROCEDURE SPExistencia ( 

) 
BEGIN 

START TRANSACTION; 

IF NOT EXISTS (SELECT IdEbook FROM MisLibros WHERE Ebook.IdEbook= MisLibros.IdEbook) THEN 
INSERT INTO MisLibros (IdEbook) VALUES (NEW.IdEbook); 

    ELSE 

    SIGNAL SQLSTATE '45000' 
    SET MESSAGE_TEXT= 'Ya cuentas con el libro seleccionado'; 

    END IF; 
    COMMIT; 

    END; 
+0

는이 작업을 구현하는 절차 대신 트리거를 만들어야합니다. –

+0

Ebook이란 무엇입니까? Ebook.IdBook? –

+0

제발 도와 주실 수 있습니까 @ 사소한 ????? 트리거를 만들려면 어떻게해야합니까? 프로 시저에 어떻게 구현할 수 있습니까? 부디!!!! –

답변

0

확인 CREATE TRIGGER 구문을 할 필요가있다.

이 시도 :

DELIMITER $$ 

DROP TRIGGER /*!50032 IF EXISTS */ `TR_Ebook`$$ 

CREATE 
    TRIGGER `TR_Ebook` AFTER INSERT ON `Ebook` 
    FOR EACH ROW BEGIN 
     IF NOT EXISTS (SELECT 1 FROM MisLibros WHERE NEW.IdEbook = MisLibros.IdEbook) THEN 
      INSERT INTO MisLibros (IdEbook) 
      VALUES (NEW.IdEbook); 
     END IF; 
END; 
$$ 

DELIMITER ; 
+0

ok ... 트리거를 생성하므로 저장 프로 시저를 어떻게 구현할 수 있습니까? –

+0

또는 전자 메일을 가지고 있는데 어디서 db 문서를 보낼 수 있습니까? –

관련 문제