오라클 조회 프로시저 예제입니다. 필요하신분은 복사하셔서 사용하시면 좋을 것 같습니다. CREATE OR REPLACE PROCEDURE TEST_PROC /* IN Parameter */ ( P_PLANT_CODE IN VARCHAR2,--공장코드 P_DT_OUT IN VARCHAR2, --출고일 P_ITEM_CODE IN VARCHAR2, --품목명 P_COMPANY_CODE IN VARCHAR2--회사코드 ) IS BEGIN SELECT A.PLANT_CODE, B.PLANT_NAME, A.DT_OUT, A.ITEM,_CODE, B.ITEM_NAME, A.RMK FROM TEST_TABLE A LEFT OUTER JOIN TEST_TABLE2 B ON A.COMPANY_CODE = B.COMPANY..
오라클 전체테이블 중에서 '원가요소'가 포함되어있는 Comment를 '관리계정'으로 바꾸라는 요청을 받았습니다. 사용하는 용어가 달라졌다고 하더군요.... 이런 요청을 받고 전체 테이블을 일일이 뒤져가면서 원가요소가 포함되어있는 Comment를 찾아서 관리계정으로 바꿔주는것은 굉장히 무식한 짓입니다. 쿼리문을 통해 한번에 간편하게 Comment를 바꾸는 방법에 대해 알아보겠습니다. 전체 테이블중에서 원하는 Comment만 검색 & 수정하기 사용한 방법 SELECT A.TABLE_NAME, A.COLUMN_NAME, A.DATA_TYPE, DATA_LENGTH, COMMENTS FROM USER_TAB_COLUMNS A,USER_COL_COMMENTS B WHERE A.COLUMN_NAME LIKE '%%..
사용자가 테이블을 DROP하거나 ALTER한다면 큰 문제가 발생할 수 있습니다. 이런 문제를 방지하기 위해 DDL을 사용할 수 있는 관리자(MASTER) 계정을 따로두고 사용자(USER) 계정에는 해당 테이블의 SELECT, INSERT, UPDATE, DELETE 권한만 부여하여 운용하는 경우가 많습니다. 이번 포스팅에서는 관리자(MASTER)계정에서 사용자(USER)계정에 DML권한을 부여하는 방법에 대해 알아보도록 하겠습니다. 테이블에 권한 부여 --테이블에 DML권한 주기 --방법1 GRANT SELECT ON [TABLE] TO [USER_ID]; GRANT INSERT ON [TABLE] TO [USER_ID]; GRANT DELETE ON [TABLE] TO [USER_ID]; GRANT U..
VARCHAR2는 한글을 저장할 수 있는 크기와 영문을 저장할 수 있는 크기가 다릅니다. 영문은 1바이트고 한글은 2바이트이기 때문입니다. 이렇게 되면 나중에 여러가지 문제가 생길 수 있기에 가끔 테이블 생성 시 VARCHAR2타입을 CHAR형으로 바꿔서 생성시켜주곤 합니다. (자칫하면 공간낭비가 될 수 있기 때문에 자주쓰는 방법은 아닙니다.) 요새는 툴이 좋아 CREATE문을 따로 작성하지 않아도 알아서 작성해주는 툴이 많이 있습니다. 하지만 툴이 만들어준 Create문을 보면 VARCHAR2타입으로 되어있을겁니다. 여기서 테이블의 VARCHAR2형을 CHAR형으로 바꿔주려면 CREATE문 안에 있는 VARCHAR2을 전부 CHAR로 바꿔주어야 하는데 이것은 굉장히 귀찮은 일입니다. 이럴때 요긴하게 사..
아래와 같은 예제테이블의 ID밑에 PASSWORD라는 컬럼을 추가하고 싶다고 예를 들어보겠습니다. ALTER TABLE MEMBER ADD(PASSWORD VARCHAR(30)); 이렇게 컬럼을 추가한다고 하면 제가 원하는 ID밑에 컬럼이 추가되지 않고 제일 밑 TEL컬럼 밑에 PASSWORD가 추가됩니다. 이렇게 오라클에서는 가운데에 컬럼을 추가하기 굉장히 까다로운데 오라클 12C부터 사용할 수 있는 기능인 테이블의 컬럼을 숨기고 보이게 할 수 있는 기능인 INVISIBLE 과 VISIBLE을 활용하면 자신이 원하는 곳에 컬럼을 추가할 수 있습니다. 컬럼 숨기기 ALTER TABLE [테이블명] MODIFY [컬럼명] INVISIBLE; ALTER TABLE MEMBER MODIFY USERNAME I..
테이블 백업은 굉장히 많이사용합니다. 예를들어 테이블의 구조를 바꿔야하는데 테이블안에 많은 데이터들이 있을때 필히 백업을 해주어야 혹시나 있을 문제에 대비할 수 있습니다. 복사 / 백업할 테이블 확인 --테이블 구조 조회 DESC [테이블명]; DESC MEMBER_EX; --테이블 데이터 조회 SELECT * FROM [테이블명]; SELECT * FROM MEMBER_EX; 테이블 복사 CREATE TABLE [복사된 테이블 명]AS SELECT * FROM [복사할테이블] CREATE TABLE MEMBER_EX_20180914 AS SELECT * FROM MEMBER_EX 복사된 테이블 확인 --테이블 구조 조회 DESC [테이블명]; DESC MEMBER_EX_20180914; --테이블 데이..
테이블을 생성할 시 테이블과 컬럼에다가 설명을 달 수 있습니다. 이렇게 해놓으면 처음에는 좀 귀찮아도 나중에 컬럼의 뜻이 기억이 안날때 Comment를 찾아본다면 이 컬럼이 왜 존재하는지 추후에도 알 수 있습니다. 대개 의무적으로 등록하게 합니다. 오라클 테이블 & 컬럼 Comment 추가,확인,삭제 방법 Comment 설정 --테이블 Comment 설정 COMMENT ON TABLE [테이블명] IS [Comment]; COMMENT ON TABLE EX_TABLE IS '예제 테이블'; --컬럼 Comment 설정 COMMENT ON COLUMN [테이블명].[컬럼명] IS '[Comment]'; COMMENT ON COLUMN EX_TABLE.DEPT IS '부서'; COMMENT ON COLUMN..
오라클에서의 테이블 생성 문법은 CREATE TABLE [테이블명]을 먼저 선언해준 뒤 그 밑으로 자신이 만들고 싶은 컬럼들을 써주시면 됩니다. 오라클 테이블 생성문법 CREATE TABLE EX_TABLE ( COMPANY VARCHAR(7) NOT NULL, DEPT VARCHAR(20) DEFAULT '미정' NOT NULL, TP VARCHAR(20), USER_ID VARCHAR(20) NOT NULL, TODAY DATE DEFAULT SYSDATE NOT NULL ); 오라클 테이블 PK설정 CREATE UNIQUE INDEX PK_EX_TABLE ON EX_TABLE (COMPANY,DEPT,TP,USER_ID); 오라클 테이블에 PK를 주는 방법입니다. PK생성 문법은 CREATE UNI..
우분투에서 오라클 설치방법에 대해 알아봅니다. 1. 우선 오라클 홈페이지에 접속하셔서 자신이 다운받고자하는 오라클 버전을 선택합니다.오라클 설치링크 바로가기저는 오라클 11g를 설치하겠습니다. 2. 동의를 해주시고 오라클 Linux버전을 눌러주세요 3. 오라클 설치를 위해서는 오라클 계정이 있어야합니다. 로그인해주세요 없으신분들은 계정을 만들어주시기 바랍니다. 4. 파일을 저장해줍니다. 5. Ctrl+Alt+T를 누르셔서 터미널로 들어가신뒤 root계정으로 접속해줍니다.sudo su root / 자신의 패스워드 6. 그런뒤 cd 다운로드 폴더로 들어가줍니다. (사람마다 경로가 조금다름) 7. 압축파일로 받았으니 압축을 풀어주세요.터미널에 unzip oracle* 라고 입력해주시면 됩니다. 8. 그런뒤 D..
컴퓨터를 쓰다 보면 어쩔 수 없는 상황 때문에 포맷을 해야 하는 경우가 있습니다. 포맷을 하게 되면 오라클에 저장되어있는 데이터들이 모두 날아가 버리기 때문에 굉장히 골치가 아픈데요. 이럴 때 유용하게 쓸 수 있는 방법이 바로 SQL Developer의 export기능입니다. 이 기능을 이용하셔서 미리 테이블을 백업해놓고 포맷을 한 다음 export 한 sql문장을 불러오시면 됩니다. 오라클 테이블 export 방식으로 백업하기 1. 먼저 자신이 백업하고 싶은 테이블을 오른쪽 클릭하셔서 익스포트 버튼을 눌러주세요. 2. 필요한 기능을 체크해주시고 저장 경로를 설정해주시고 다음 버튼을 눌러주세요 3. 다음 버튼, 완료 버튼을 차례로 눌러주시면 아까 설정해두었던 경로에 이렇게 sql파일이 생성되게 됩니다. ..
이번 포스팅에서는 안드로이드 스튜디오와 오라클을 연결하는 방법에 대해서 한번 알아보도록 하겠습니다. 안드로이드 스튜디오에 내부 DB인 SQLite와는 직접적으로 바로 연결이 가능하지만 Oracle과 MySQL 같은 외부 DB는 안드로이드에서 직접적으로 접근이 불가능합니다. 보안상의 이유 때문이라고 하네요. 그러므로 위 사진과 같이 JSP 혹은 서블릿등으로 오라클과 통신하기 위해서는 중간 다리를 만들어 줘야 하는데 이번 포스팅에서는 안드로이드를 JSP 서버를 이용하여 오라클과 연결할 수 있는 방법에 대해서 알아보도록 하겠습니다. 안드로이드에서 JSP로 통신 값을 보내고 그 통신 값을 JSP에서 오라클로 넣어주는 방식입니다. 먼저 안드로이드(클라이언트)부터 작업을 시작하도록 하겠습니다. Android Stu..
이클립스에서 준 값으로 오라클에 값을 넣고(insert) 값을 출력(select)하는 방법을 한번 알아보도록 하겠습니다. 이클립스에서 오라클 데이터베이스에 접근을 하기 위해서는 커넥션 풀 방식을 자주 사용합니다. 커넥션 풀(Connection)이란 객체를 여러 개 생성하여 풀에 담아놓고 필요할때마다 꺼내는 방식입니다. 커넥션 풀의 사용 이유 JDBC를 통해 DB에 연결하기 위해서는 DB드라이버를 로드하고 커넥션 객체를 받아와야 합니다. 하지만 DB에 연결할 때마다 매번 커넥션을 생성하고 드라이버도 로드하려고 하면 굉장히 귀찮고 메모리도 많이 먹을 거예요. (굉장히 비효율적인 코드가 되어버리고 말 것입니다.) 하지만 커넥션 풀을 사용하면 하나의 커넥션을 돌려가면서 사용하기 때문에 이런 비효율적인 작업이 없..
오라클을 설치받았으면 이클립스와 연결해서 써먹어야겠죠? 이번에는 오라클과 이클립스를 연결하는 방법을 한번 알아보도록 하겠습니다. 오라클과 이클립스 JSP로 서로 연동/통신하기 1. 먼저 오라클과 이클립스를 연동하려면 jar파일이 필요합니다. jar파일은 오라클을 설치한 폴더 lib폴더에 있고. lib폴더는 JDBC안에 있습니다.참고로 저의 lib 경로는 아래와 같습니다. C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 2. 여기서 2번째 jar파일 ojdbc6.jar파일을 복사한 뒤 이클립스 lib폴더에 넣어줍니다. Connection jdbc/OracleDB javax.sql.DataSource Container 3. web.xml 밑에 가셔서 위 코드를..