태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

[오라클만화] 제3화 SQL의 작성

  • 궁금이 2009.11.27 13:32 신고 ADDR 수정/삭제 답글

    바인드 변수의 사용이 프로시저가 아닌,
    어플리케이션에서 변수로 처리하여 요청할 경우도 하드파싱이 되나요?

    -- Java로 작성되었다고 가정한 후
    String str = "";

    for (int i = 1; i < 100; i++) {
    str ="select * from tab1 where col1 = "+toString(i);
    -- str DB에 전송 후 실행
    }

  • grace 2009.12.03 15:10 신고 ADDR 수정/삭제 답글

    네- 위의 경우에는 literal로 인식이 되어 하드파싱이 됩니다.

    소프트 파싱을 위해서는 다음과 같이 prepared statement를 사용하여코딩을 해주셔야 합니다.

    String query = "select * from tab1 where col1 = ?"
    PreparedStatement pstmt = con.prepareStatement(query);
    pstmt.setInt(1, col1);

    • 궁금이 2009.12.08 16:33 신고 수정/삭제

      답변감사드립니다.