개발을 하다보면 테이블과 VO의 이름이 동일하지 않거나 다수의 테이블을 하나의 Row로 출력해야할때 테이블 컬럼명만 다르고 데이터의 사용성이같을떄 AS로 컬럼명을 별칭을 정하고 출력하게된다 예를들어 analog_book은 종이로된 책이고 digital_book은 전자책일때 컬럼명이 다르지만 동일하게 보이려면 AS로 컬럼명을 변경한다 해당 문장으로 select 해오면 union all에 의해 2개의 테이블이 하나의 테이블처럼 보이게된다. 이상태에서 book_name이 오라클인 경우에만 가져오게하려면 조건을 추가해야한다. 그러면 내가 아는대로 where book_name = '오라클'을 진행하면 원하는대로 값이 나올까? 깔끔하게 예상을 뒤집어엎는다. 역시 생각대로 진행되지 않는게 재미있다 되지않는 이유는 나..
상황 컴퓨터 시작 -> 이클립스 실행 -> 프로젝트 실행 -> 톰캣 8080 포트는 사용 중이라 안된다고 에러 nect2r.tistory.com/28 에 맞춰서 8080포트 없앰 -> 프로젝트 실행 -> 오라클이 실행이 안되어있다고 에러 -> 서비스에서 리스너 시작 -> 프로젝트 실행 -> 톰캣이 8080포트가 사용 중이라고 뜸 프로젝트는 실행에 실패했고 톰캣은 꺼져있는데 왜 8080포트가 사용 중일까? 혹시나 오라클 포트를 확인해봄 오라클 접속 select DBMS_XDB.GETHTTPPORT() from dual; 입력 오라클의 포트가 8080인 것 분명 1521로 접속하는데 왜 8080으로 잡혀있는 것일까..? 이유는 찾지 못했다 1521로 다시 변경 --> EXEC DBMS_XDB.SETHTTPP..
SELECT 'DROP TABLE "' || TABLE_NAME || '" CASCADE CONSTRAINTS;' FROM user_tables; 위에 문장을 실행하면 현재 유저가 가지는 모든 테이블을 DROP문으로 결과를 출력합니다. DROP table1 FROM USER; DROP table2 FROM USER; DROP table3 FROM USER; DROP table4 FROM USER; DROP table5 FROM USER; DROP table6 FROM USER; DROP table7 FROM USER; DROP table8 FROM USER; DROP table9 FROM USER; DROP table10 FROM USER; 이제 복사해서 실행하면 테이블이 삭제됩니다!
회사 면접을 다니면서 받은 질문이 있었다. 개인 프로젝트에 테이블 간에 외래 키가 맺어져 있는 데이터를 삭제할 때 어떻게 진행을 하는지를 나는 외래키로 연결하고 삭제하게 되면 ON DELETE CASCADE로 하위 데이터도 삭제되게 진행했다. 면접관이 얘기하길 요즘은 직접적으로 물리삭제하는 경우는 드물고 대부분 논리 삭제를 진행을 하는데 이유가 있냐고 물었다. 거기서 논리삭제에 대한 키워드는 처음 들은 거 같다. 키워드를 검색해보니 어느정도 인지는 하고 있던 내용이었다. 삭제요청에 바로 삭제를 하지 않고 칼럼을 하나 두고 Y/N 또는 1/0으로 변경하는 것 SELECT은 조건에 맞춰서 보일 것만 불러오게 하면 된다. 물리 삭제직접 데이터를 삭제하자는 사고방식. 테이블에서 데이터를 삭제. 논리삭제 : UP..
[Oracle]Oracle(오라클) Sql Developer 이용해서 .sql파일 import하는 방법
2020.12.31
전자정부 프레임워크 통합 컴포넌트 3.9.0을 구축하면서 기본 제공하는 DDL와 DMl을 추가해야 하는 일이 생겼다. oracle sql developer 를 이용해서 import 하고 스크립트를 실행해본다. 파일 > 열기를 누른다. 해당 경로에 가서 필요한 .sql을 import 한다 스크립트 실행을 누르고 진행하면 된다.
[Oracle] The Network Adapter cloud not establish the connection 해결 방법
2020.12.31
Oracle Sql Developer에서 Oracle을 연결하려 할 때 상태 실패 The Network Adapter cloud not establish the connection 이 출력됩니다. 오라클 설치 폴더로 갑니다. C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 제 경로는 이렇게 됩니다. ADMIN 폴더 안에 listener.ora , tnsnames.ora 가 있습니다. 안에 내용을 수정해야 하는데요 메모장을 키신 다음 ora파일을 끌어서 옮기시면 나옵니다. 오라클 버전에 따라 HOST값이 다릅니다. 18 버전 HOST : 내 IP주소 11 버전 HOST : 내 호스트명 적용시킨 뒤에 Orcale service name도 확인해야 합니..