Variables
- Syntax
DECLARE variable_name[,variable_name..] datatype [DEFAULT value];
- 값 할당시에는 SET사용
- 모든 데이터 타입 사용 가능
Literals
- Numeric literals 가능
10진수(200), e지수(2e5), 16진수(OxA) 사용 가능
- Date literals
SET datetime = '1999-12-31 23:59:59';
- String literals
'String', "String"로 표현
상수안에 '," 사용시 백슬래쉬 사용
escape문자 사용가능 \t, \n, \\
ANSI_QUOTES모드일때에는 single quotes만 가능
Parameters - IN
- Syntax
CREATE PROCEDURE name ([IN|OUT|INOUT] parameter_name data_type...)
- IN 파라미터 값을 프로시져 안으로 전달
- 변경은 가능하지만 리턴은 불가(Call by Value 형태)
Parameters - OUT
- 프로시져 호출시 return value 지정
- 값이 반환 될 수는 있지만 프로시져 안으로는 전달이 안됨
Parameters - INOUT
- 값이 입력, 출력이 가능하다
User Variables
- Syntax
SET @name = 'YourName';
- 세션단위의 사용자 지정 광역변수
- 동일세션내에서 다른 프로시져에서 호출 가능
- 관리가 힘들다
Comment
- '--' 또는 '/* */'으로 사용 가능
Data Types - ENUM
- Syntax
CREATE PROCEDURE name (in_option ENUM('Yes','No','Maybe'))
CALL name('Yes')
CREATE PROCEDURE name (in_option SET('YES','No','Maybe'))
CALL name('Yes,No')
- 다른 DB와는 호환이 되지 않음
Strict Mode
- 잘못된 값이 컬럼에 삽입되거나 업데이트 될때 Error을 반환
- STRICT_TRANS_TABLES, STRICT_ALL_TABLES의 차이점
STRICT_TRANS_TABLES은 트랜잭션 지원하지 않는 테이블에서 두번째 줄에서 오류시 첫번째 줄은 처리됨
STRICT_ALL_TABLES의은 전체가 무시됨
- 프로시저 생성시 지정된 sql_mode환경에 따라 동작함(생성후 Mode를 변경해도 프로시져는 반영안됨)
- 프로시저 작성전에는 Strict모드로 지정하여 잘못된 데이터의 삽입,수정을 막아야함
Sloty Casino - Casinos Near Me - Mapyro
답글삭제Find Casinos 이천 출장안마 Near Me in Las Vegas, 파주 출장마사지 NV. 삼척 출장안마 3, Casino in Hotel Lobby, 제천 출장샵 Las Vegas, United States 속초 출장안마 - Check MapYRO.