본문 바로가기

분류 전체보기

(313)
[Oacle] 최종 프로젝트 쿼리 정리 사용자의 하나카드 거래 이력 테이블을 조회하는 쿼리다. WHERE절 서브쿼리를 활용해서 주민등록번호로 보유한 카드번호를 가져온 뒤 거래이력을 조회하게 된다. SELECT절 서브쿼리(스칼라 서브쿼리)를 활용해서 결제방식, 결제수단을 코드테이블과 매핑하여 코드값으로 변환했다. SELECT T.CARD_TRANSACTION_TIME, T.CARD_TRANSACTION_CONTENT, T.CARD_TRANSACTION_AMOUNT, (SELECT VALUE FROM CODE WHERE CODE = T.PAYMENT) AS PAYMENT, (SELECT L.CARD_PRODUCT_NAME FROM CARD_PRODUCT_LIST_TEST01 L WHERE L.CARD_PRODUCT_CODE = (SELECT C...
[마이바티스] How can I pass multiple parameters and use them? 이것도 모르고 헛짓했넴ㅋㅋㅋ 아 근데 sqlSession을 이용해서 selectOne등의 메소드를 사용하는 상황에서는 어찌된 일인지 안된다. 그냥 map으로 해결했다!!
[Oracle] 연산이 필요한 게 아니라면 NUMBER 타입을 쓰지 말자 CVC를 NUMBER로 지정하고, 값을 000으로 줬더니 SELECT 하니까 0으로 나온다. 000인데 0으로 나오는 줄 알았더니 그게 아니었다. 심지어 SELECT * FROM CARD_CONTRACT_TEST01 WHERE CVC = 0; 해도 조회가 된다. 이제서야 이렇게 되는걸 알았네. 숫자연산이 필요한게 아니라면 절대 NUMBER 타입으로 만들지 말자!! CREATE TABLE CARD_CONTRACT_TEST01( CARD_NUM CHAR(16) PRIMARY KEY, CARD_PRODUCT_CODE VARCHAR2(3) NOT NULL, RESI_NUM CHAR(13) NOT NULL, CVC NUMBER(3) NOT NULL, PASSWORD NUMBER(4) NOT NULL -- 제약조건..
[Oracle] 비교절에 현재시간 + 문자열 넣기 HAVING TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY-MM') = (SELECT TO_CHAR(SYSDATE, 'YYYY')||'-12' FROM DUAL) SELECT SUBQUERY1.NUM AS "1월", SUBQUERY2.NUM AS "2월", SUBQUERY3.NUM AS "3월", SUBQUERY4.NUM AS "4월", SUBQUERY5.NUM AS "5월", SUBQUERY6.NUM AS "6월", SUBQUERY7.NUM AS "7월", SUBQUERY8.NUM AS "8월", SUBQUERY9.NUM AS "9월", SUBQUERY10.NUM AS "10월", SUBQUERY11.NUM AS "11월", SUBQUERY12.NUM AS "12월" FROM (SE..
[Oracle] 조회된 ROW가 없을 때, RETURN 하는 방법 SELECT SUBQUERY1.NUM AS "1월", SUBQUERY2.NUM AS "2월", SUBQUERY3.NUM AS "3월", SUBQUERY4.NUM AS "4월", SUBQUERY5.NUM AS "5월", SUBQUERY6.NUM AS "6월", SUBQUERY7.NUM AS "7월", SUBQUERY8.NUM AS "8월" FROM (SELECT SUM(CARD_TRANSACTION_AMOUNT) AS NUM FROM CARD_TRANSACTION_TEST01 GROUP BY TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY-MM') HAVING TO_CHAR(CARD_TRANSACTION_TIME, 'YYYY-MM') = '2020-01') SUBQUERY1, (SELEC..
[Oracle] date 형식의 컬럼에 데이터 넣기 TO_DATE('2011-04-21 09:36:00', 'yyyy-mm-dd hh24:mi:ss') http://www.gurubee.net/article/52538date 형식의 컬럼에 데이터 넣기안녕하세요^^ 질문하기 민망할정도로 쉬운 문제일 수 있으나찾아보다가 도저히 저와 같은 문제는 나타나지 않는거 같아서 질문 올립니다.테이블에 형..www.gurubee.net
[ERwin] ERwin에서 ERD를 SQL로 변경하기 Physical 에서만 forward engineering을 할 수 있다.내가 짠 ERD는 Logical이라서, 이를 먼저 Physical로 변경해야 한다.(애초에 Logical/phsical로 만들었어야 함.) 우선 Logical 화면 내의 ERD를 복사해서 새로운 모델에 붙여넣는다.ctrl + a 하면 전체 다 선택되고, 이를 ctrl + c 하면 됨. 새로운 모델을 생성하면상단의 Logical 부분이 활성화 된다. 이를 Physical로 바꾼다. 이후 schema generate 누른다. 하단의 preview를 누르면 SQL 코드가 나온다. SQL developer에서 스크립트를 실행하면 한번에 테이블이 생성되고 제약조건이 실행된다. * 참고나는 Test 테이블을 만들 목적이었으므로, ERD의 En..
[Spring] (스크랩) Spring 트랜잭션 처리 트랜잭션은 어떤 일련의 작업을 의미 합니다. 어떤 일련의 작업들은 모두 에러 없이 끝나야 하며, 만약 중간에 에러가 발생 한다면, 에러 발생 이전 시점까지 작업되었던 내용은 모두 원상복구 되어야 합니다. (잘 끝나면 반영 즉, Commit 되어야겠지?) 이렇게 데이터에 대한 무결성을 유지하기 위한 처리 방법을 '트랜잭션 처리' 라고 합니다 https://freehoon.tistory.com/110