콘솔로 마리아 db 접속해서 프로시저를 실행하려고 했다.
mysql -uzzz -p
이런식으로 마리아 db 로그인 해서
MariaDB [zzz]>
이런상태에서 프로시저를 실행하려고 했는데 에러가 났다.
CREATE OR REPLACE PROCEDURE `aa`(
OUT `RESULT`
)
COMMENT 'aa'
BEGIN
DECLARE _row_count INT DEFAULT 0;
...
END
이런식의 프로시져.. 하지만 실행했더니
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near
이런 류의 에러가 났다.
가만 보니 ; 이런것들이 끊겨서 그런거 같아서 안 끊겨야 하니
DELIMITER // 를 상탄에 넣어서 ; 에 의해 안 끊기게 해야 될것 같았다.
그래서
DELIMITER //
CREATE OR REPLACE PROCEDURE `aa`(
OUT `RESULT`
)
COMMENT 'aa'
BEGIN
DECLARE _row_count INT DEFAULT 0;
...
END //
delimiter;
이렇게 delimiter 를 위아래로 넣어줬다. 아래에 넣어서 끊어줘야 다음 쿼리등을 실행할때 ; 로 끊기기 때문에 넣어주는것이 좋다.
그러니 ; 에 의해 안끊기고 프로시저가 잘 실행되었다.
내용을 보려면
show create procedure proc_xxx;