본문 바로가기

Programming/DB (SQL)19

[SQL Server] Chapter 17. 커서 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 커서 : 각 행 별로 작업을 수행하는데 유용하다. 쿼리로 다음과 같은 작업을 수행할 수 있다. SQL문을 수행 시, 결과에 대해 집합(table형태)으로 반환한다. 커서는 이러한 결과에 대해 한 행 단위로 처리하게함 1) 결과 집합의 특정 행에 위치를 지정할 수 있다. 2) 결과 집합의 현재 위치에서 한 행 또는 행 블럭을 검색 3) 결과 집합의 현재 위치에서 행에 대한 데이터 수정 1. 커서 유형 (1) 정적커서 - 결과 집합을 tempdb에 복사본을 만들어 사용함. 원본에 변경이 생겨도 알 수 없다. 항상 읽기 전용 (2) 동적커서 - 정적커서와 대응되는 개념. 현재 위치의 키 값만 tempdb에 가짐. 원본의 모든 변동은 결과집합에 반영되고, .. 2014. 12. 10.
[SQL Server] Chapter 16. 트리거 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 트리거 : 특정 테이블에 자료가 수정될 때, 내부적으로 관련된 다른 테이블이나 컬럼에 연동하여 갱신하거나 무결성을 지키기 위해 사용된다. 1. SQL Server의 트리거 - 트리거의 유형은 세가지로 INSERT, UPDATE, DELETE트리거를 만들 수 있다. 각 트리거는 각 작업이 수행된 셋 기준으로 작성된다. 몇개의 행이 영향을 받아도, 실행된 구문의 수 만큼 트리거가 작동된다. (1) 트리거의 사용용도 1) 관련테이블 변경 : 데이터 수정 전후의 테이블 상태 간 차이점을 찾아내고, 이 차이점에 따라 작업을 수행한다. 2) 참조 무결성 : 참조 무결성을 위해 FOREIGN KEY제약 조건을 사용하는 것이 좋지만, 그렇지 않을 경우 트리거를 활.. 2014. 12. 9.
[SQL Server] Chapter 15. 사용자 정의 함수 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 사용자 정의 함수 : 사용자가 직접 함수를 정의하여 사용할 수 있는 기능. 다음과 같이 세가지 유형이 있다. 1) 스칼라함수 : 단일 데이터 값을 반환하는 함수 2) 인라인테이블반환함수 : 함수의 본문 없이 단일 SELECT문의 결과를 반환하는 함수 3) 다중 문 테이블 반환함수 : 반환될 테이블 변수에 여러 작업을 수행 후 결과를 반환하는 함수 - 사용자 정의 함수는 테이블의 데이터를 수정할 수 없다. 1. 사용자 정의 함수 생성, 수정 및 삭제구문 (1) 스칼라함수 CREATE FUNCTION [.] ( [ { [AS] [= ] } [, ... n] ] ) RETURNS [ WITH [ , ... n] ] [AS] BEGIN RETURN END .. 2014. 12. 9.
[SQL Server] Chapter 14. 저장 프로시저 *본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 저장 프로시저 : 일련의 쿼리를 하나의 함수처럼 처리하기 위한 쿼리의 집합. 뷰의 경우 조회전용 개체, 트리거는 수정전용 개체, 저장프로시저는 둘 다 가능하다. - 저장 프로시저의 장점 1) 모듈별 프로그래밍이 가능하다. 2) 수정 및 배포가 쉽다. 3) 실행 계획을 재사용하여 더 빠르다. 저장 프로시저는 호출되면 메모리에 캐싱되어 있다. 4) 네트워크 소통량을 줄일 수 있다. 5) 보안 매커니즘으로 사용가능. - 저장 프로시저 종류 1) 시스템 저장 프로시저 : 시스템이 제공. sp_ 접두어를 사용한다. 만약 같은 이름을 가진 저장 프로시저가 로컬에 있다면, 로컬에 있는 것을 우선한다. 2) 확장저장 프로시저 : SQL서버 외부로 ODS를 통해 작.. 2014. 12. 9.
[SQL Server] Chapter 13. 뷰 * 본 포스팅은 개인의 학습 내용을 정리한 것입니다. - 뷰 : 쿼리로 정의된 가상 테이블. 데이터를 저장하고 있는 공간은 없음. - 뷰 사용의 장점 1) 사용자의 관심부분 데이터에 초점을 맞출 수 있다. 2) 자주 사용하거나 복잡한 쿼리에 대해 복잡성을 감추고 재사용 할 수 있다. 3) 특정 사용자에게 일부 자료를 보여주고 싶을 때, 허가 관리를 간소화 할 수 있다. 4) 다른 어플리케이션으로 데이터를 보낼 때, 편리하다. 1. 뷰의 생성 CREATE [ ] VIEW [ (컬럼목록)] [ WITH ] AS [WITH CHECK OPTION] *뷰속성 : { ENCRYPTION | SCHEMABINDING | VIEW_METADATA} (1) 뷰의 컬럼명 명시 - 컬럼명을 정의하지 않을 경우 원시 컬럼명.. 2014. 12. 9.
[SQL Server] Chapter 11. SQL프로그래밍 * 본 포스팅은 개인의 학습 내용을 정리한 것입니다. 1. 읽기 쉬운 코드 작성 (1) 주석 처리 : SQL서버에서는 다음과 같이 주석 문자열을 지원한다. 주석을 이용하여 설명을 기술할 수 있다. 1) '--' (이중 하이픈) : 행 단위에 사용하는 주석처리 문자 2) /* ... */ (슬래시-별표 문자 쌍) : 여는 주석문자(/*)와 닫는 주석문자(*/)사이가 모두 주석처리 됨. 단, 이 안에는 GO 문자열을 추가할 수 없다. (2) 주요 절을 줄로 분리하고 탭으로 간격을 맞춘다 (3) 키워드는 대문자로, 또한 개체명의 규칙을 정의하여 사용. 아래는 자주 쓰이는 약어이다. 명 약어 명 약어 Date Dt Process P Create Crt Time tm Name Nm Change chg Employ.. 2014. 12. 8.
728x90