2022

· 2022/Oracle
public List getList(int page, String field, String query) throws ClassNotFoundException, SQLException{ String sql="SELECT * FROM NOTICE_VIEW WHERE"+field+" LIKE NUM BETWEEN ? AND ?"; Class.forName(driver); Connection con = DriverManager.getConnection(url,uid,pwd); PreparedStatement st = con.prepareStatement(sql); st.setString(1,"%"+query+"%"); st.setInt(2, start); st.setInt(3, end); ⁝ 해당 코드를 보면 ..
· 2022/JDBC
preparedStatedment 작성 String sql="SELECT * FROM NOTICE_VIEW WHERE NUM BETWEEN ? AND ?"; Class.forName(driver); Connection con = DriverManager.getConnection(url,uid,pwd); PreparedStatement st = con.prepareStatement(sql); //SQL준비 st.setInt(1, start); //1번 ? 지정 st.setInt(2, end); //2번 ? 지정 ResultSet rs = st.executeQuery(); //쿼리실행 createStatement작성 String sql="SELECT COUNT(ID) FROM NOTICE"; Class.fo..
· 2022/Oracle
SELECT COUNT(ID) FROM NOTICE; ID:컬럼명
· 2022/Oracle
SQL문을 작성하다보면 길어 질때가 많다. 길어진 SQL문을 자바 코드에 넣으면 작성 내용이 매우 복잡해보인다. 따라서 VIEW를 사용함으로서 이러한 문제를 해결할 수 있다. 예를들어 이러한 SQL문이 있다. SELECT * FROM( SELECT ROWNUM NUM, N.*FROM( SELECT * FROM NOTICE ORDER BY REGDATE DESC ) N )WHERE NUM BETWEEN 2 AND 10; --------------------------------------------------------------- //VIEW만드는법 CREATE NOTICE_VIEW AS SELECT ROWNUM NUM, N.*FROM( SELECT * FROM NOTICE ORDER BY REGDATE..
· 2022/Oracle
SQL문을 작성하다보면 길어 질때가 많다. 길어진 SQL문을 자바 코드에 넣으면 작성 내용이 매우 복잡해보인다. 따라서 VIEW를 사용함으로서 이러한 문제를 해결할 수 있다. 예를들어 이러한 SQL문이 있다. SELECT * FROM( SELECT ROWNUM NUM, N.*FROM( SELECT * FROM NOTICE ORDER BY REGDATE DESC ) N )WHERE NUM BETWEEN 2 AND 10; --------------------------------------------------------------- //VIEW만드는법 CREATE NOTICE_VIEW AS SELECT ROWNUM NUM, N.*FROM( SELECT * FROM NOTICE ORDER BY REGDATE..
· 2022/Oracle
SELECT* FROM(SELECT ROWNUM NUM, NOTICE.*FROM NOTICE) WHERE NUM BETWEEN 2 AND 10; 위와 같이하면 2부터 10까지 출력할 수 있다. 위의식은 다음과 같다. SELECT ROWNUM NUM, NOTICE.*FROM NOTICE로 1부터10까지의 칼럼을 ROWNUM으로 만들되 NUM으로 별칭을 지어준다. 이후 SELECT* FROM(SELECT ROWNUM NUM, NOTICE.*FROM NOTICE) WHERE NUM BETWEEN 2 AND 10; 을 수행하는데 왜 별칭을 붙이냐고 반문 할 수 있다. 왜냐하면 ROWNUM의 기능때문에 그렇다. ROWNUM은 실행할때 1부터 1씩 증가시키는 명령어이기때문이다. 결론만 얘기하자면 왜 별칭을 사용해야..
· 2022/Oracle
SELECT ROWNUM, NOTICE.* FROM NOTICE WHERE ROWNUM BETWEEN 2 AND 10;하면 결과 값이 안나온다. 왜냐하면 ROWNUM은 컬럼이 아니기때문이다. 런타임 마다 1씩 증가시키는 로우이다 (가장 중요한 의미이다). 따라서 ROWNUM의 시스템은 1부터 출력하며 증가시키는데 WHERE절을 수행할때 TRUE이면 ROWNUM을 생성하고 1씩 증가시킨다 생각하면 된다. 예를들어 COLUMN ROWNUM(WHRE절 수행) 결과 1 1생성(BEWEEN 2 AND 10=TRUE???) 2가 아니라 FALSE 2 1생성(FALSE였기때문에 증가못함) 2가 아니라 FALSE 3 1생성(FALSE였기때문에 증가못함) 2가 아니라 FALSE 4 1생성(FALSE였기때문에 증가못함) ..
· 2022/Oracle
SELECT ROWNUM, NOTICE.* FROM NOTICE; NOTICE.컬럼(애트리뷰트) 값을 넣으면 결과값이 나온다.
키보드발
'2022' 카테고리의 글 목록 (4 Page)