본문 바로가기

📝 ErrorNote

[Oracle / Eclipse] ORA-00933: SQL command not properly ended

오류 내용 : ORA-00933: SQL command not properly ended

 

원인 : 

ORA-00933: SQL command not properly ended"는 오라클 데이터베이스에서 발생하는 일반적인 오류 메시지입니다. 이 오류는 SQL 명령문의 구문에 문제가 있음을 나타냅니다. 특히, SQL 명령문이 예상대로 끝나지 않았거나, 필요한 부분이 누락되었거나, 부적절한 키워드나 문구가 사용되었을 때 이 오류가 발생합니다.

 

insert / delete 시 이 오류가 났다.

delete만 예시로 보자면

 

여기 이 부분에서 문자열을 더할 때 "와 쿼리문 사이에 띄어쓰기를 하지 않아서 오류가 발생했다. 

 

SQL은 대소문자를 구분하지 않지만 공백(띄어쓰기)은 중요합니다. 공백은 SQL 문에서 키워드, 식별자(테이블 이름, 열 이름 등), 상수 값 등을 구분하는 데 사용됩니다. 띄어쓰기를 제대로 하지 않으면 오류가 발생할 수 있습니다.

 

다시 띄어쓰기를 해주자 오류가 해결됐다. 몇시간 동안 왜 delete가 안되는지 고민했는데 고작 띄어쓰기였다! ㅎㅎㅎ

 

	/**사용자의 정보를 삭제하는 메서드 (id)**/
	public void delMember(String id) {
		try {
			con = dataFactory.getConnection();
			
			String query = "delete from t_member" + " where id=?";
			System.out.println("prepareStatement : " + query);
			
			pstmt = con.prepareStatement(query); 
			pstmt.setString(1, id);
			pstmt.executeUpdate();
			
			pstmt.close();
			} catch (Exception e) {
			System.out.println("delMember : " + e.getMessage());
		}
	}