본문 바로가기

Windows Developer/Oracle

[oracle] .net에서 오라클 연결 방법 GetConnectionString은 오라클 연결 문자열이다 함수 정의는 다음과 같다. Public Function GetConnectionString() As String Return "Data Source=Kazak;User ID=asp011;Password=bitora;Unicode=True" End Function aDtResult.Load() 함수는 OracleDataReader 객체를 실행된 쿼리결과를 받아서 저장된 데이터를 DataTable에 저장을 시키는 역할이라고 생각하면 되겠다 더보기
[oracle] system.data.oracleclient 이용시 오라클 내부 Function 코드 구현 1. 오라클에 저장된 Function 2. Function이 쓰여질 Proc*C 내 쿼리문 3. 실제 DB연동과 Function을 사용하기 위한 방법 4. 디버깅 결과 더보기
[oracle] 기본 정리 함수 정리 [문자열] 1 . CONCAT( column1expression1 ,column2expression2 ) CONCAT('Good','String') --> GoodString : 와 같은 역할을 한다. 2 . SUBSTR(columnexpression, m [,n]) : m값이 음수면 문자값의 끝부터 (글자기준 ) SUBSTR('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다. 3. SUBSTRB(columnexpression, m [,n]) : m값이 음수면 문자값의 끝부터 (바이트기준 ) SUBSTRB('String',1,3) --> Str : 1번째부터 3개의 문자를 리턴한다 4. INITCAP( columnexpression ) INITCAP('string') --> S.. 더보기
[oracle]계정 생성 및 권한 부여 1. 계정 관리 (SQL-PLUS) (1) 생성 사용자 생성 SQL>CONN SYSTEM/pwd -- DBA Role이 있는 유저로 접속합니다. SQL>CREATE USER TEST IDENTIFIED BY TEST; -- USER를 다시 생성합니다. 접근 SQL> CONN TEST/TEST - 연결 실패!! SQL> CONN SYSTEM/pwd -- 권한 부여기능이 있는 유저로 접속 SQL> GRANT connect, resource TO TEST; -- 권한 부여 SQL> CONN TEST/TEST - 연결 성공!! 확인 SQL> CONN SYSTEM/pwd SQL> SELECT username, default_tablespace, temporary_tablespace FROM DBA_USERS; (.. 더보기
[oracle] Import ▣ IMPORT ? ⊙ EXPORT 덤프 파일을 읽어서 그 안에 저장되어 그 파일안에 있는 명령을 실행시킵니다. ⊙ 데이터베이스를 복구하거나 재구성하기위해 사용될 수 있습니다. ⊙ 기본적으로 IMPORT는 각 테이블을 IMPORT한 후 COMMIT을 합니다. ▣ Import Parameter - userid : IMPORT를 실생시키는 계정의 username/password명 - buffer : 데이터를 행들을 가져오는데 사용되는 buffer의 bytes수 - file : IMPORT될 EXPORT 덤프 파일명 - show : 파일 내용이 화면에 표시되어야 할 것인가를 나타냄(Y/N 플래그) - ignore : IMPORT중 CREATE명령을 실행할 때 만나게 되는 에러들을 무시할 것인지 결정 (Y/N .. 더보기
[Oracle]바인드 변수 쿼리의 일부분 예를 들어 WHERE 절의 내용만 다른 쿼리를 실행해야 하는 경우가 종종 생길 것이다. 이러한 경우에 거의 비슷한 두번의 쿼리를 실행하는 비효율성을 해소하는 방법이 바로 바인드 변수의 사용이다. 바인드 변수는 입력 내용을 넣고 SQL로부터 출력 내용을 받아내는 방법으로, " 이 부분에 들어갈 정확한 값은 이후에 알려줄테니, 일단 내가 값을 넣었을 때 어떻게 실행할 것인지에 대해서 계획만 세워둬라 "는 명령을 오라클에 내리는 것이다. 바인드 변수를 사용하지 않은 쿼리와 사용한 쿼리의 예 select * from emp where ename = 'KING'; select * from emp where ename = :bv; 두번째 쿼리가 바인드 변수를 사용한 쿼리로서, 보다 일반적이고, 재사용.. 더보기
[Oracle] 리터럴 변수와 바인딩 변수 1. 리터럴 변수 SELECT * FROM TABLE WHERE ID = '째즈댄스' 와 같이 직접 쿼리를 적용시켜 대입시키는 방법 2. 바인딩 변수 SELECT * FROM TABLE WHERE ID = :INPUT_ID 와 같이 작정되며 프롬프트가 :INPUT_ID입력을 기다린다. 더보기
[oracle] %TYPE과 %ROWTYPE %TYPE 데이터형 ⊙ %TYPE 데이터형은 기술한 데이터베이스 테이블의 컬럼 데이터 타입을 모를 경우 사용할 수 있고, ⊙ 또. 코딩이후 데이터베이스 컬럼의 데이터 타입이 변경될 경우 다시 수정할 필요가 없습니다. ⊙ 이미 선언된 다른 변수나 데이터베이스 컬럼의 데이터 타입을 이용하여 선언합니다. ⊙ 데이터 베이스 테이블과 컬럼 그리고 이미 선언한 변수명이 %TYPE앞에 올수 있습니다. %TYPE 속성을 이용하여 얻을 수 있는 장점 - 기술한 DB column definition을 정확히 알지 못하는 경우에 사용할 수 있다. - 기술한 DB column definition이 변경 되어도 다시 PL/SQL을 고칠 필요가 없다. 예제 v_empno emp.empno%TYPE := 7900 ; v_ename.. 더보기
[Oracle] 인덱스의 구조 [출처]http://www.gurubee.net/pages/viewpage.action?pageId=688161& B*Tree 방식으로 조건을 만족하는 첫 번째 인덱스 ROW를 찾는다. 조건에 해당하는 처리가 끝날 때까지 차례대로 다음 ROW를 스캔한다. 인덱스 ROW에 있는 ROWID 정보를 이용하여 테이블에 있는 실제 ROW를 랜덤하게 액세스 한다. 결국 액세스되는 테이블 ROW의 순서는 인덱스 ROW의 순서와 일치한다. 그러므로 인덱스를 이용하여 처리함으로써 정렬작업 없이 동일한 결과를 추출할 수 있다. 더보기
[Oracle] 인덱스 란? [출처]http://www.gurubee.net/pages/viewpage.action?pageId=688159 [인덱스 란?] 인덱스는 일반 테이블이나 클러스터에서 쓰여지는 선택적인 객체로서, 오라클 데이터 베이스 테이블내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조. 옵티마이저가 최적의 경로를 결정하기 위해 사용하는 요소(Factor) 테이블 로우(Row)에 하나씩 대응되는 별도의 객체(Object) 인덱스는 하나의 테이블에 여러개를 지정할 수 있고, 하나의 컬럼은 여러개의 인덱스에 포함 될 수도 있다. 테이블과 무관하게 생성 및 삭제를 독립적으로 할 수 있다. 자동 인덱스 : 프라이머리 키 또는 UNIQUE 제약조건에 의해 자동적으로 생성되는 인덱스 수동 인덱스 : CREATE .. 더보기