오류 내용 : 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());
}
}