SELECT
필드명
FROM 테이블
WHERE 조건1
AND 조건2
이러한 SELECT 문으로 FUNCTION 을 만들어 보자
CREATE FUNCTION "FUNCTION 명" (변수값1 타입 , 변수값2 타입) RETURN 타입
BEGIN
DECLARE 변수명 varchar(50); // 변수선언
// 아래에는 조회할 SELECT 문장
SELECT
CODE_NAME INTO 변수명 // 조회한 컬럼값인 CODE_NAME 을 변수에 넣는다.
FROM TB_CODE
WHERE CODE = '변수값1'
AND GRP_CODE= '변수값2'
RETURN 변수명
END
출처: https://choija.tistory.com/26 [수캥이의 삶 ]
]
MySQL 시퀀스 생성하여 사용하기 : 게시판 테이블에 시퀀스 기능 적용하기
1. 시퀀스 테이블을 만들어 시퀀스 번호 적용할 필드 (id)와 시퀀스의 이름 ( seq_name ) Attribute 지정
시퀀스 이름은 함수를 사용할 때 매개값으로 사용된다.
2. 시퀀스 테이블에 있는 값을 게시판 테이블에 가져다 쓰기위한 함수 작성
함수 get_seq 매개값은 p_seq_name 리턴타입은 int [ reads sql data ]
[ reads sql data ] <<뭔지 모름, SQL 데이터 액세스 레벨 이라는데
[참고]
begin
result_id 변수를 선언,
함수 매개값에 시퀀스 테이블의 name속성이 올 때
id에 last_insert_id 함수 사용하여 테이블의 마지막 auto_increment값 리턴 <<?? 테이블에auto increment 적용 안했는데
쿼리를 읽어와서,
마지막으로 들어온 레코드에 id+1값을 set <<
return_id에 위의 set한 last_insert_id를 넣고,
return_id 리턴
end
사용할때는 함수이름 ( 테이블 컬럼 name ) // <<함수 매개값에 시퀀스 테이블의 name속성이 올 때
last_insert_id 함수는 테이블의 마지막 auto_increment 값을 리턴한다.
출처: https://cirius.tistory.com/1139 [바부의 세상살아가기]
'DB > MySQL' 카테고리의 다른 글
MySQL sysdate / 현재 시각 입력 (0) | 2019.08.13 |
---|---|
[이것이 MySQL이다] 07. SQL 고급(1) (0) | 2019.07.25 |
MySQL 시퀀스 사용 (0) | 2019.07.25 |
MySQL - DB/테이블 관리 기본 명령어 (0) | 2019.07.23 |
뷰(view) 작성 (0) | 2019.05.05 |