쿼리 작성을 거의 안하다보니 함수고 조인이고 분석함수고 다 까먹게 생겼다. 아무래도 내 티스토리에 저장하여 간간히 보도록 해야겠당..ㅠㅠ -- 더하고 뺄때 날짜가 더해지거나 빼진다. select sysdate, sysdate + 1, sysdate - 1 from temp where emp_name = '홍길동' -- 시, 분, 초 등을 더함. select to_char(birth_date, 'HH24:MI:SS') birth_time, to_char(birth_date + 14/24, 'HH24:MI:SS') as time, to_char(birth_date + 30/(24*60), 'HH24:MI:SS') as min, to_char(birth_date + 50/(24*60*60), 'HH24:MI:..
몇일전 회사 대리님의 한 말씀..... " 난 아직도 인터페이스를 왜 사용하는지 모르겠다 " 라고 하셨다.. 나 조차 자바개발자로서 인터페이스의 기능과 문법은 알고있지만 지금까지도 왜?왜?왜? 사용해야하는지 자세히 알지는 못하였다. 오히려 불필요하다고만 생각해왔을뿐.. 하지만 인터페이스는 오픈소스인 스프링, 스트럿츠에 많이 사용되어져 있고 다른 프로젝트의 소스코드를 보아도 조금씩은 들어가 있기에 이번 기회에 완벽히 습득을 하고자 공부를 해봤다. 1. 먼저 interface는 다른 클래스의 멤버들과 달리 다음과 같은 제약사항을 가지고 있다. - 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다. - 모든 메서드는 public abstract 이어야 하며, 이를 생략할 ..
비관적 잠금 - 해당 행에 잠금을 하여 다른 세션들로부터의 갱신을 막음 - 그 행이 변경되지 않고 남아 있을지 확신할 수 없기 때문에 갱신을 시도하기 전에 그 행에 잠금을 한다. SELECT EMPNO, ENAME, SAL FROM EMP WHERE EMPNO = :EMPNO AND ENAME = :ENAME AND SAL = :SAL FOR UPDATE NOWAIT 위의 쿼리문을 1번 세션에서 질의 실행 2번 세션에서 똑같은 쿼리문 실행하면 "ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다" 라고 오류가 나온다. 하지만 위의 쿼리문에서 FOR UPDATE NOWAIT문만 제거하고 실행하면 잠금을 설정한 해당 레코드의 검색이 이루어진다. 오라클에서는 행 잠금을 실행해도 다른 세션에..
저장하기 package BLOB; import java.io.*; import java.sql.*; import java.util.*; public class Exam_07 { public static void main(String[] args) throws IOException { try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("드라이버 검색 성공"); }catch(ClassNotFoundException e) { System.err.println("error = " + e); System.exit(1); } Connection conn = null; PreparedStatement pstmt = null; Stri..