三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
CURRVALとNEXTVAL
解説
CURRVALは指定された順序の現在の値。
NEXTVALは指定された順序のCURRVALに増分値を加えた値。
構文例
select sequence_name.CURRVAL from dual;
select sequence_name.NEXTVAL from dual;
ROWID
解説
データベース表の行のROWID。
UROWID型の変数を使用すると、ROWIDを読み取り可能な書式で格納できる。
構文例
DECLARE
CURSOR c1 IS SELECT hoge_name,rowid FROM tbl_hoge;
WHOGE_NAME tbl_hoge.hoge_name%TYPE;
WROWID UROWID;
BEGIN
open c1;
loop
fetch c1 into WHOGE_NAME,WROWID;
exit when c1%NOTFOUND;
UPDATE tbl_hoge SET hoge_name = hoge_name || 'hoge' WHERE rowid = WROWID;
commit;
end loop;
close c1;
END;
ROWNUM
解説
表から取り出された順序を示す番号を戻す。
構文例
select ROWNUM,hoge_name from tbl_hoge where ROWNUM <= 3 ;
ROWNUM hoge_name
------------------
1 hogehoge
2 ho-ge
3 hoge