티스토리 뷰
mysql에서는 스쿼스가 없다..ㅜ.ㅜ
아래와 같이 테이블을 만들고 함수 및 프로시저를 만들어서 사용한다.
--테이블생성
CREATE TABLE sequences ( name varchar(32), currval BIGINT UNSIGNED ) ENGINE=InnoDB;
--스쿼스 삭제
DELIMITER $$
CREATE PROCEDURE `drop_sequence` (IN the_name text)
MODIFIES SQL DATA
DETERMINISTIC
BEGIN
DELETE FROM sequences WHERE name=the_name;
END
--스쿼스 생성
DELIMITER $$
CREATE PROCEDURE `create_sequence`(IN the_name text)
MODIFIES SQL DATA
DETERMINISTIC
BEGIN
DELETE FROM sequences WHERE name=the_name;
INSERT INTO sequences VALUES (the_name, 0);
END
--다음
DELIMITER $$
CREATE FUNCTION `nextval`(the_name varchar(32))
RETURNS BIGINT UNSIGNED
MODIFIES SQL DATA
DETERMINISTIC
BEGIN
DECLARE ret BIGINT UNSIGNED;
UPDATE sequences SET currval=currval+1 WHERE name=the_name;
SELECT currval INTO ret FROM sequences WHERE name=the_name limit 1;
RETURN ret;
END
--현재
DELIMITER $$
CREATE FUNCTION `currval` (the_name varchar(32))
RETURNS BIGINT UNSIGNED
READS SQL DATA
DETERMINISTIC
BEGIN
DECLARE ret BIGINT UNSIGNED;
SELECT currval INTO ret FROM sequences WHERE name=the_name limit 1;
RETURN ret;
END
사용 예)
call create_sequence('bar');
select nextval('bar'); #1
select currval('bar'); #1
select nextval('bar'); #2
select currval('bar'); #2
- Total
- Today
- Yesterday
- 담양 죽녹원
- 토드
- 가평여행
- 밀리세컨드
- 파주여행
- 인천
- 오라클
- 테라로사
- 인스타그램
- pdf ms워드 변환
- 산외한우마을
- 제주도여행
- 임자도
- 가평팬션
- oracle
- 덤프
- 맛집
- java api
- 이클립스
- ora-01940
- 보성녹차밭
- jdk
- PPTX
- 대관령양떼목장
- 인천여행
- 부천역
- 정동지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |