티스토리 뷰

콘솔로 마리아 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;


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함