본문 바로가기
반응형

분류 전체보기557

11g 리스너 변경 Oracle 11g LISTENER OS: Windows Server 2008 DB: Oracle 11g Network: Private Network (Public IP 공유기 사용) ㅁ 특정포트로 리스너를 세팅 후 Database 연결 * 시나리오 환경 - 전역 데이터 베이스 명으로 'dbnet.XXX.com' - 데이터 베이스 SID : dbnet - Private IP : 10.0.0.4 - 리스너명 : LISTENR_DBNET - 리스너포트: 1550 (default 1521를 사용하지 않음) A. 리스너 생성 1. Oracle Net Manager 실행 2. 리스너를 선택 후 [+] 버튼으로 리스너생성 3. [수신위치] 에 탭에 호스트 및 포트 지정 * 서비스 이름 지정의 dbnet은 Datab.. 2015. 7. 29.
[CMD] 명령어 오라클 SQLPlUS 접속하기 $ sqlplus "/as sysdba" SQL>startup shutdown abort exit $ lsnrctl LSNRCTL>start stop exit 2015. 7. 29.
[윈도우 함수] ratio_to_report로 특정 비율 구하기 select bb.last_name , sum(aa.order_total) , round(ratio_to_report(sum(aa.order_total)) over (partition by to_char(aa.order_date, 'YYYY')),2) aa from orders aa left outer join employees bb on aa.sales_rep_id = bb.employee_id where to_char(aa.order_date, 'YYYY') = '2008' group by bb.last_name, to_char(aa.order_date, 'YYYY') order by bb.last_name; 2015. 7. 29.
[윈도우 함수] LAG 바로 이전 쿼리의 특정 열의 값을 가져옴 select to_char(hire_date, 'YYYY') , count(*) , LAG(count(*)) over (order by to_char(hire_date, 'YYYY')) from employees group by to_char(hire_date, 'YYYY') order by to_char(hire_date, 'YYYY'); 2015. 7. 29.
[윈도우 함수] 범위를 주어서 집계값을 조회 select employee_id ,salary ,sum(salary) over(partition by department_id order by employee_id rows between unbounded preceding and unbounded following) w1 ,sum(salary) over(partition by department_id order by employee_id rows between unbounded preceding and current row) w1 ,sum(salary) over(partition by department_id order by employee_id rows between current row and unbounded following) w1 from e.. 2015. 7. 29.
[ntile]레코드를 일정 비율로 분할해준다. --전체 로우를 ntile의 숫자만큼 분할하여 순위를 줌 select customer_id , ntile(5) over (order by sum(order_total) desc) rank , sum(order_total) from orders where to_char(order_date, 'YYYY') ='2007' group by customer_id; 2015. 7. 29.
컬럼당 최대값 최소값 구하기 keep(dense_rank first order by salary desc) --부서별 최소값과 최대값 구하기 select department_id , max(employee_id || ' ' || last_name) keep(dense_rank first order by salary desc) maxsalary , max(salary) maxxx , min(employee_id || ' ' || last_name) keep(dense_rank last order by salary desc) minsalary , min(salary) minxxx from employees group by department_id; 2015. 7. 29.
순위함수 --순위 함수 select employee_id , salary , rank() over(order by salary desc) salary_ranking--공동 순위 표시됨. 공동 만큼 건너 뜀. , dense_rank() over(order by salary desc) ranking2--공동 표시되나 공동만큼 건너 뛰지 않음 , row_number() over(order by salary desc) ranking3--그냥 순번 from employees; 2015. 7. 29.
분석 함수 sum() over(partition by ---) --sum()이 두번 쓰임 이유는?? select years , customer_id , sub_amt from ( select to_char(order_date, 'YYYY') years , customer_id , sum(order_total) sub_amt , sum(sum(order_total)) over (partition by to_char(order_date, 'YYYY')) total_amt from orders group by to_char(order_date, 'YYYY'), customer_id ) a where a.sub_amt > a.total_amt * 0.2; --뒤에 order by가 있을 때랑 없을 때랑 값이 다름. --partition을 한 후에 정렬을 해야 제대로 값이 .. 2015. 7. 29.
시스템 뷰 및 테이블 정보 조회 시스템 뷰 --오브젝트 정보 select * from all_objects where owner = 'HR' --데이터베이스 관리자를 위한 정보를 제공하는 테이블(DBA관리자로 로그인해야 볼 수 있음) select * from dba_objects; --소유한 테이블을 조회 select * from user_tables; --테이블의 컬럼 정보 desc departments; --테이블 컬럼 정보 조회 select * from user_tab_cols a join user_col_comments b on a.table_name = b.table_name and a.column_name = b.column_name where a.table_name = 'DEPARTMENTS' order by a.colum.. 2015. 7. 29.
Package 만들기 기본형 create or replace package employee_process as type emprecord is record(emp_id int, salary real); type deptrecord is record(dept_id int, loc_id int); cursor salaries return emprecord; invalid_salary exception; procedure hire_employee( first_name varchar2, last_name varchar2, emils varchar2, job_id varchar2, mgr_id real, salary real, commission real, dept_id real); procedure fire_employee(emp_id i.. 2015. 7. 29.
자주 사용하는 명령어 DBMS_OUTPUT 패키지의 메세지를 사용하려면 다음 명령어를 실행해야됨. SET SERVEROUTPUT ON ; 테이블의 컬럼 자료형을 조회한다. DESC EMPLOYEES 2015. 7. 29.
참고 URL http://mirwebma.tistory.com/ http://mainia.tistory.com/637 설치등의 정보(비번은 언제나 1111) http://www.allsoft.co.kr/bbs/board.php?bo_table=study4_2&wr_id=22 설치 클라이언트 http://moonslife.tistory.com/8 http://rosenbean.egloos.com/252256 강좌 http://www.oracleclub.com/lecture/1003 sql developer 사용법 http://blog.naver.com/PostView.nhn?blogId=ssky6579&logNo=30106657587&parentCategoryNo=&categoryNo=&viewDate=&isShowP.. 2015. 7. 29.
저장시 밸리데이션처리 관련 반복 소스 제거 각 상황별 밸리데이션 코드 상황에 맞게 수정하여 사용. //Combo 밸리데이션 protected bool ComboValidation(DevExpress.Xpf.Editors.ComboBoxEdit combo, string name) { if (combo.SelectedIndex < 1) { MsgCodeHelper.ShowDialog("CM0050", name); return false; } return true; } //Text 밸리데이션 protected bool TextBoxValidation(DevExpress.Xpf.Editors.TextEdit textBox, string name) { if (textBox.Text == "") { MsgCodeHelper.ShowDialog("CM0060.. 2015. 7. 29.
visual studio 버전별 테마 http://studiostyl.es/ 2015. 7. 29.
화면 픽셀 종보 RGB값으로 보기 colorcop 2015. 7. 29.
visual studio 2008 검은색 코딩창 http://winterdom.com/2007/11/vs2008colorschemes 2015. 7. 29.
Visual Studio 2010 환경설정 중 현재 수정중인 소스를 솔루션 탐색기에서 표시 //현재 수정하고 있는 소스의 경로를 솔루션 탐색기에서 바로 연결 Tools - Options - Projects and Solutions - General - Track Active Item In Solution Explorer I don't have full Visual Studio, only the Express Editions, where it seems to be checked by default for VB.NET and unchecked by default in C++.NET. 2015. 7. 29.
서브라임 사용법 http://windtale.net/blog/sublime-text-tip/ 2015. 7. 29.
단축키 VS Ctrl Shift F9 중담점 제거 Ctrl Space 인텔리 센스 보이기 Ctrl U 대소문자 변환 Ctrl Shift A 파일 추가 Alt Shift A 기존항목 추가 Ctrl K, C 주석처리 Ctrl K, U 주석처리 해제 Ctrl Alt L 솔루션 탐색기 Ctrl Alt X 도구상자 Ctrl Shift S 모두저장 Ctrl Shift N 새프로젝트 Shift F7 디자이너 F7 코드 Ctrl J 인텔리 센스 보이기 Ctrl Shift V 클립보드 순환검색 SQL Ctrl U 선택 내용을 대문자로 Ctrl Shift U 선택 내용을 대문자로 Ctrl Shift C 주석 달기 Ctrl Shift R 주석제거 Ctrl D 표 형태로 결과 표시 Ctrl K 실행 계획 보기 Ctrl L 예상 실행.. 2015. 7. 29.
Index 클러스터 -영어 사전의 알파벳 순서로 구성된 인덱스. -유일한 키(primary key)로 구성된 컬럼 -트리 구조로 인덱스 생성. -비클러스터 형보도 검색 속도가 빠름. -입력/수정/삭제가 느림. -테이블에 한개만 생성이 가능. -두 열에 인덱스 구성시 클러스터 형을 사용 할 수 없음. 비클러스터 -유일한 키. -별도의 장소에 인덱스 페이지를 생성하고 별도로 생성된 인덱스에서 해당 주소를 검색해여 조회. -입력/수정/삭제가 빠름. -테이블에 여러개 생성이 가능. 단순 비클러스터 -단순은 중복을 허용한다는 의미로, 고유와 반대의미 임. 포괄 열이 있는 인덱스 포괄 열이 있는 인덱스(Index with Included Columns)란 비클러스터형 인덱스의 리프 페이지에 데이터를 포함하고 있는 열을 의미한.. 2015. 7. 29.
CTE Table ALTER PROC [dbo].[USP_BASIC_TEST_4_PROJECTTEST_LIST] @COM_CODE VARCHAR(6) = '' , @SEARCH_KEYWORD NVARCHAR(100)= '' --검색어 , @CURR_PAGE INT = 1 , @PAGESIZE INT =15 --한페이지의 ROW수 , 0일경우는 모든자료를 리스트업함 , @SORT VARCHAR(20) = 'CD_CODE' --정렬컬럼 , @SORT_AD CHAR(1) --(A)SC/(D)ESC AS DECLARE @SROW SMALLINT , @EROW SMALLINT , @KEYWORD VARCHAR(200) SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED.. 2015. 7. 29.
WHERE 조건에 case문으로 사용 컬럼 바꾸기 ( CASE @PARAM WHEN '' THEN @PARAM ELSE PJT_DES END LIKE @PARAM ) OR ( CASE @PARAM_V WHEN '' THEN @PARAM_V ELSE PJT_CD END LIKE @PARAM_V ) 2015. 7. 29.
CASE WHEN END 값에 따른 분류 case @Value when 'R' then '0' when 'P' then '1' when 'E' then '2' when 'F' then '3' else '' end 2015. 7. 29.
실행계획 아이콘 설명 2015. 7. 29.
XML XML MS-SQL 2011.12.29. 11:27 수정 삭제 http://finalwarrior.blog.me/30127391470 전용뷰어 보기 XML 만들기 SELECT '' + (select * from TABLE00 (NOLOCK) for xml AUTO, elements) + '' FROM TABLE1 select (select * from SITE for xml Auto, elements) 2015. 7. 29.
DATEADD -일정 수 만큼 날짜 더하기 DATEADD 지정한 날짜에 시간 간격을 더하여 새 datetime 값을 반환합니다. 구문 DATEADD ( datepart , number, date ) 인수 datepart 새 값을 반환할 날짜 부분을 지정하는 매개 변수입니다. 다음은 Microsoft® SQL Server™에서 인식하는 날짜 부분과 약어입니다. 날짜 부분 약어 Year yy, yyyy quarter qq, q Month mm, m dayofyear dy, y Day dd, d Week wk, ww Hour hh minute mi, n second ss, s millisecond ms number datepart에 더해지는 값입니다. 정수가 아닌 값을 지정하면 값의 소수 부분이 무시됩니다. 예를 들어 datepart로 day, num.. 2015. 7. 29.
트랜잭션 격리 수준(SQL Server 2008, 트랜잭션과 잠금) 트랜잭션 격리 수준(SQL Server 2008, 트랜잭션과 잠금) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; READ UNCOMMITTED : 커밋되지 않은 데이터도 포함해서 읽기 READ COMMITTED : 커밋되기 전까지 데이터 접근 못함. REPEATABLE READ : 공유잠금(select)이 걸려있는 상태에서는 update/delete는 불가. 하지만, insert는 가능함. SNAPSHOT : 공유잠금 상태에서도 insert가 가능하다. 실 TABLE에 저장을 하는게 아니라 TEMPDB에 저장을 한 다음에 commit되면 데이터를 이동 시킨다. SERIALIZABLE : REPEATABLE READ상태에서는 insert가 가능하다. insert.. 2015. 7. 29.
프로파일러를 사용해서 확인해 보았을 때 결과 창에서 Reads, CPU의 사용률이 작은데도 Duration이 크게 나오면 블로킹인 경우가 많다. 즉, CPU를 별로 사용하지도 않았는데 처리가 오래되었기 때문이다. 또한, Reads와 Duration이 모두 크다면 인덱스를 사용하지 않는 경우가 대부분이다. SQL Server 구문 분석및 컴파일 시간 set statistics time on 현재 메모리(프로시저 캐시 영역)으 내용을 모두 지움. DBCC FREEPROCCACHE sp_로 시작하는 프로시져 sp의 약자는 System Procedure의 약자로 해당 DB에 저장되는 것이 아니라 전역에 저장되어 해당 인스턴스의 모든 DB에서 사용가능하다. SET NOCOUNT ON 실행 컬럼수를 반환한다. sp.. 2015. 7. 29.
사용자 정의 함수(Function) 사용자 정의 함수(Function) Return문에 의해서 특정 값을 돌려주는 기능을 함. 예) CREATE FUNCTION UFN_GETAGE(@BYEAR INT) RETURNS INT AS BEGIN DECLARE @AGE INT SET @AGE = YEAR(GETDATE()) -@BYEAR RETURN @AGE END 호출시(스키마 이름을 지정하지 않으면 dbo를 붙여줘야된다.) SELECT DBO.UFN_GETAGE(2000) EXECUTE를 이용한 호출 DECLARE @RETVAL INT; EXEC @RETVAL = DBO.UFN_GETAGE 2000; PRINT @RETVAL 주로 테이블을 조회할 때 사용. SELECT DBO.UFN_GETAGE(SUBSTRING(USER_BIRTHDATE, .. 2015. 7. 29.
반응형