WORK/DB

mysql function 생성 시 You have en error in your SQL syntax 오류 해결

im 수캥이 2023. 10. 31. 17:40

개발에서 생성한 function을 운영에 생성 하려고 하는데 아래와 같이 오류가 발생했다.

You have en error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

 

짜증 ;;;

이것저것 보다보니 DELIMITER 를 추가해 주면 된다고 한다.

DELIMITER $$
    CREATE FUNCTION FN_TEST(P_NAME VARCHAR(10)) RETURNS VARCHAR(10)
    BEGIN
        DECLARE RTN VARCHAR(10);
            SELECT 
                DEPT_NAME INTO RTN
            FROM DEPT_INFO;
    RETURN RTN;
END $$

위의 CREATE 문은 예제로 작성 하였고 결론

원래 작성 된 CREATE 문장에 위 예시와 같이 빨간부분만 추가해 주면 된다.

DELIMITER 란?

DELIMITER'구분기호'로  단어를 구분하는데 사용된다고 하며 

큰따옴표, 작은따옴표, 세미콜론 등 위키에는 여러가지가 등록되어 있다.

프로그래밍 언어로 치면 문법의 끝을 나타내는 형태가 된다.

var name = "" ;  // 스크립트 
String name = ""; // JAVA
string name = "" ; // C#

 

 

'WORK > DB' 카테고리의 다른 글

Oracle 과 MSSQL 문법차이  (0) 2023.12.20
mysql select 값으로 update 하기  (2) 2023.11.02
mysql TRUNCATE를 이용하여 원단위 없애기  (1) 2023.10.31
DBeaver 사용 Tip  (0) 2023.10.12
MY SQL 특정문자 개수 구하기  (1) 2023.10.05