티스토리 뷰
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
- 대관령양떼목장
- java api
- 산외한우마을
- oracle
- pdf ms워드 변환
- 부천역
- 덤프
- PPTX
- jdk
- 밀리세컨드
- 파주여행
- 인스타그램
- 정동지
- 보성녹차밭
- 인천
- 담양 죽녹원
- 가평팬션
- 인천여행
- 토드
- 제주도여행
- 이클립스
- ora-01940
- 맛집
- 테라로사
- 임자도
- 가평여행
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |