๋ชฉ์ฐจ
DEFALUT VALUE๋ก sequence์ next value ์ง์ ๊ฐ๋ฅ
12c ์ด์ ์ ์ค๋ผํด์์๋ ์๋ ์ฆ๊ฐ๊ฐ์ ์ค์ ํ๊ธฐ ์ํด ์ํ์ค๋ฅผ ์์ฑ ํ ํ ํ ์ด๋ธ์ ๋ง๋ค ๋๋ถํฐ ์์ฑํ ์ํ์ค์ ๊ฐ์ ์ค์ ํ ์ ์์
-- ex) 12c์์๋ ์๋์ฒ๋ผ ์ํ์ค๋ฅผ ์์ฑ ํ
CREATE SEQUENCE t_seq
start with 1
increment by 1
maxvalue 10
nocycle
;
-- ํ
์ด๋ธ์ ๋ง๋ค ๋ ์ํ์ค์ next value ์ง์ ์ด ๊ฐ๋ฅํจ
CREATE TALBE test
( no NUMBER DEFAULT t_seq.nextval PRIMARY KEY,
name varchar2(10)
);
invisible columne ์ฌ์ฉ ๊ฐ๋ฅ
11g๊น์ง๋ ํ
์ด๋ธ์ invisible columne์ด ์์ฑ๋์ง ์์์ง๋ง 12c๋ถํฐ๋ ์์ฑ ๊ฐ๋ฅํจ
invisible๋ ์ปฌ๋ผ์ ์๋ณด์ด์ง๋ง ์ ์ฝ์กฐ๊ฑด๋ ์ ์ฉ๋จ
์์ ๋ฝ์ ๋ Top-N ๊ธฐ๋ฅ ์ฌ์ฉ ๊ฐ๋ฅ
11g๊น์ง๋ ์ธ๋ผ์ธ๋ทฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ rownum๋ฑ์ ์ฌ์ฉํด์ ๋น๊ต์ ๋ณต์กํ(?) ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์์ง๋ง 12c๋ถํฐ๋ ํธํ๊ฒ Top-N์ผ๋ก ๊ฐ๋ฅํด ์ก์
(11g ์ฌ์ฉ์ค์ด๋ผ ํ
์คํธ๋ ๋ชป ํด ๋ดค์)
IDENTITY Column ์ง์
๊ธฐ์กด์ ANSI SQL์์๋ ํ
์ด๋ธ์์ primary key์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด ์๋์ฆ๊ฐ๋๋ identity columne์ ์ง์ํ์ผ๋ ์ค๋ผํด์ ์์์
๊ทธ๋์ ์ํ์ค ๋ฑ์ ์ด์ฉํด์ ์๋์ผ๋ก ์ค์ ํ์๋๋ฐ 12c๋ถํฐ ์ค๋ผํด์์๋ ์ด ๊ธฐ๋ฅ์ ์ง์ํ๊ฒ ๋์์
mysql์ auto-increment์ ๋น์ทํ ๊ธฐ๋ฅ์ผ๋ก ์ดํด ๋จ
-- ๋ฌธ๋ฒ์ ์๋์ ๊ฐ์
CREATE TABLE t_iden
( no NUMBER GENERATED AS IDENTITY, -- ์ด ๋ถ๋ถ์ด ์๋์ฆ๊ฐ
name varchar2(10)
);
Null ๊ฐ ์ํ DEFAULT ๊ฐ ์ง์ ๊ฐ๋ฅ
12c์์๋ null์ด ์ ๋ ฅ๋ ๊ฒฝ์ฐ null ๋์ ์ ๋ ฅ๋ ๊ฐ์ default๋ก ์ง์ ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ ๋จ
-- ๋ฌธ๋ฒ์ ์๋์ ๊ฐ์
CREATE TABLE d_test100
( no NUMBER,
name varchar2(10),
sal NUMBER DEFAULT on null 100 -- null์ผ ๊ฒฝ์ฐ 100์ ์
๋ ฅ
);
์ถ์ฒ : ์ค๋ผํด SQL๊ณผ PL/SQL ์ฑ

'IT > DataBase' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SQL] update์์ case when์ ์ฌ์ฉ (0) | 2023.03.04 |
|---|---|
| [Oracle]ORACLE ๊ณ์ธตํ ์ฟผ๋ฆฌ (0) | 2022.11.29 |
| [MySQL/MariaDB] Update join... (0) | 2022.11.29 |
| [Oracle] Oracle ์ํ์ค ์์ฑ ์ฟผ๋ฆฌ (0) | 2022.11.29 |
| [Oracle] Oracle SELECTํ ๊ฐ์ผ๋ก UPDATEํ๊ธฐ (0) | 2022.11.29 |
๋๊ธ