728x90
데이터베이스 설계 및 구현 - [제11강] 저장 프로그램 2
․함수 ․커서 ․트리거
데이터베이스 용어정리
요점정리
- 함수는 저장 프로시저와 유사하게 일반적인 프로그래밍 언어에서 사용하는 함수처럼 복잡한 프로그램이 가능하다. 또한 함수는 RETURN 문에 의해서 특정 값을 돌려주는 기능을 한다.
- 저장 프로시저는 ‘CALL’ 명령어를 사용하여 호출되지만, 함수는 자체적으로 수행이 불가능하고 ‘SELECT’ 문에 포함되어서 실행된다는 점에서 차이가 있다.
- 커서는 테이블에서 여러 개의 레코드를 질의한 후에 질의의 결과인 레코드 집합을 하나의 레코드씩 처리하기 위한 방식이다.
- 트리거는 어떤 테이블의 데이터가 변경될 때 자동으로 지정된 애플리케이션이 동작한다든지 다른 테이블의 데이터를 변경하도록 설계된 저장 프로시저의 특별한 형태이다.
- MySQL은 BEFORE INSERT, AFTER INSERT, BEFORE UPDATE, AFTER UPDATE, BEFORE DELETE, AFTER DELETE의 여섯 가지 트리거를 제공한다.
연습문제
-
다음 중 함수에 대한 설명이 아닌 것은?
- 정답 :
-
②
- 함수는 저장 프로시저와 유사하지만 저장 프로시저와 다르게 매개변수를 받아들일 수는 있으나 반환할 수는 없다.
-
다음 중 데이터 타입이 CHAR(4)인 값을 받아들이고 VARCHAR(10)인 값을 반환하는 ClassLevel 함수에 대한 정의로 옳은 것은?
- 정답 :
-
①
- 함수는 저장 프로시저와 달리 매개변수를 받아들일 수 있으나 매개변수를 반환할 수 없다. 따라서 매개변수에 IN, OUT, INOUT을 지정하지 않는다. 또한 반환하는 값은 RETURNS 키워드와 타입만을 통해 함수의 결과값을 명시한다.
-
함수를 호출하는 명령어는?
- 정답 :
-
③
- 함수는 독립적으로 실행이 불가능하여 저장 프로시저와 같이 CALL 명령어를 통해 호출 될 수 없다. 함수는 SELECT 문 내부에 SELECT 절과 WHERE 절에 포함되어 일반적인 수학, 문자, 날짜 함수와 같이 사용된다.
-
커서에서 결과 레코드로부터 현재 커서가 가리키고 있는 포인터의 다음 레코드를 가져오고 커서의 위치를 다음 레코드로 지정하는 명령어는 무엇인가?
- 정답 :
-
④
- 커서는 질의문을 통해 레코드 집합을 가져온 후, 각각의 레코드에 대해서 별도의 처리를 하는 저장 프로그램이다. 각각의 레코드를 가져올 때 FETCH 명령어를 사용하여 현재 포인터가 가리키는 레코드를 반환하고 포인터를 다음 레코드를 지정하게 할 수 있다.
-
다음 중 MySQL에서 지원하는 트리거가 아닌 것은?
- 정답 :
-
②
- 트리거는 테이블의 변화가 생기면 변화의 유형에 따라 자동으로 실행되는 저장 프로그램의 일종이다. 변화 유형에 따라 반응하는 INSERT, UPDATE, DELETE 트리거가 있다.
'컴퓨터과학[3-2] > D.B' 카테고리의 다른 글
데이터베이스 설계 및 구현 - [제13강] 트랜잭션과 데이터 관리 (0) | 2016.07.31 |
---|---|
데이터베이스 설계 및 구현 - [제12강] 보안과 사용자 관리 (0) | 2016.07.31 |
데이터베이스 설계 및 구현 - [제10강] 저장 프로그램 1 (0) | 2016.07.31 |
데이터베이스 설계 및 구현 - [제9강] 데이터 조작언어 3 (0) | 2016.07.31 |
데이터베이스 설계 및 구현 - [제8강] 데이터 조작언어 2 (0) | 2016.07.31 |
댓글