เจนเจพเจˆเจฒเฉ‹เจก++ เจธเจพเจ‡เจฌเฉ‡เจฐเฉ€เจ† 2019 เจฆเฉ‡ เจจเจ•เจธเจผเฉ‡ เจ•เจฆเจฎเจพเจ‚ 'เจคเฉ‡ เจšเฉฑเจฒเจฆเฉ‡ เจนเฉ‹เจ - เจ“เจฐเฉ‡เจ•เจฒ 'เจคเฉ‡ 8 เจ•เจพเจฐเจœ

เจนเฉˆเจฒเฉ‹!

24-25 เจœเฉ‚เจจ เจจเฉ‚เฉฐ, เจนเจพเจˆเจฒเฉ‹เจก++ เจธเจพเจ‡เจฌเฉ‡เจฐเฉ€เจ† 2019 เจ•เจพเจจเจซเจฐเฉฐเจธ เจจเฉ‹เจตเฉ‹เจธเจฟเจฌเจฟเจฐเจธเจ• เจตเจฟเฉฑเจš เจนเฉ‹เจˆเฅค เจธเจพเจกเฉ‡ เจฎเฉเฉฐเจกเฉ‡ เจตเฉ€ เจ‰เฉฑเจฅเฉ‡ เจธเจจเฅค เจฐเจฟเจชเฉ‹เจฐเจŸ "เจ“เจฐเฉ‡เจ•เจฒ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ (CDB/PDB) เจ…เจคเฉ‡ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจตเจฟเจ•เจพเจธ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจตเจฟเจนเจพเจฐเจ• เจตเจฐเจคเฉ‹เจ‚", เจ…เจธเฉ€เจ‚ เจฅเฉ‹เฉœเฉเจนเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจŸเฉˆเจ•เจธเจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจน เจ เฉฐเจกเจพ เจธเฉ€, เจงเฉฐเจจเจตเจพเจฆ olegbunin เจธเฉฐเจธเจฅเจพ เจฒเจˆ, เจจเจพเจฒ เจนเฉ€ เจนเจฐ เจ•เจฟเจธเฉ‡ เจฒเจˆ เจœเฉ‹ เจ†เจ‡เจ† เจธเฉ€เฅค

เจนเจพเจˆเจฒเฉ‹เจก++ เจธเจพเจ‡เจฌเฉ‡เจฐเฉ€เจ† 2019 เจฆเฉ‡ เจจเจ•เจธเจผเฉ‡ เจ•เจฆเจฎเจพเจ‚ 'เจคเฉ‡ เจšเฉฑเจฒเจฆเฉ‡ เจนเฉ‹เจ - เจ“เจฐเฉ‡เจ•เจฒ 'เจคเฉ‡ 8 เจ•เจพเจฐเจœ
เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจจเจพเจฒ เจ‰เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจธเจพเจกเฉ‡ เจฌเฉ‚เจฅ 'เจคเฉ‡ เจธเจจ เจคเจพเจ‚ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ“เจฐเฉ‡เจ•เจฒ เจ—เจฟเจ†เจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เฉ‹เฅค เจ•เฉฑเจŸ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ 8 เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚, เจœเจตเจพเจฌ เจตเจฟเจ•เจฒเจช เจ…เจคเฉ‡ เจตเจฟเจ†เจ–เจฟเจ† เจนเจจเฅค

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เฉเจฐเจฎ เจฎเฉเฉฑเจฒ เจ•เฉ€ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡?

create sequence s start with 1;
 
select s.currval, s.nextval, s.currval, s.nextval, s.currval
from dual
connect by level <= 5;

  • 1
  • 5
  • 10
  • 25
  • เจจเจนเฉ€เจ‚, เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (8.1.6 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):
เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ SQL เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ, เจ“เจฐเฉ‡เจ•เจฒ เจชเฉเจฐเจคเฉ€ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจตเจพเจฐ เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจตเจงเจพเจเจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจ•เจฅเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจฒเจˆ NEXTVAL เจฆเฉ‡ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเฉฐเจฆเจฐเจญ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ Oracle เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจงเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ NEXTVAL เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ•เฉ‹ เจฎเฉเฉฑเจฒ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจตเจฟเฉฑเจš CURRVAL เจ…เจคเฉ‡ NEXTVAL เจฆเฉ‹เจตเจพเจ‚ เจฆเฉ‡ เจนเจตเจพเจฒเฉ‡ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ Oracle เจ•เฉเจฐเจฎ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ CURRVAL เจ…เจคเฉ‡ NEXTVAL เจฆเฉ‹เจตเจพเจ‚ เจฒเจˆ เจ‰เจนเฉ€ เจฎเฉเฉฑเจฒ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆ เจญเจพเจตเฉ‡เจ‚ เจ‰เจน เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ†เจฐเจกเจฐ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚เฅค

เจ‡เจธ เจฒเจˆ, เจ…เจงเจฟเจ•เจคเจฎ เจฎเฉเฉฑเจฒ เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเฉ‹ เจ•เจฟ 5 เจนเฉˆ.

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚?

create table t(i integer check (i < 5));
 
create procedure p(p_from integer, p_to integer) as
begin
    for i in p_from .. p_to loop
        insert into t values (i);
    end loop;
end;
/
 
exec p(1, 3);
exec p(4, 6);
exec p(7, 9);

  • 0
  • 3
  • 4
  • 5
  • 6
  • 9

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (11.2 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):

เจ•เจฟเจธเฉ‡ เจตเฉ€ SQL เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ“เจฐเฉ‡เจ•เจฒ เจ‡เฉฑเจ• เจชเจฐเจฟเจชเฉฑเจ• เจธเฉ‡เจตเจชเฉเจ†เจ‡เฉฐเจŸ (เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚) เจฆเฉ€ เจจเจฟเจธเจผเจพเจจเจฆเฉ‡เจนเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจซเจฟเจฐ, เจœเฉ‡เจ•เจฐ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจซเฉ‡เจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ“เจฐเฉ‡เจ•เจฒ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจนเฉ€ เจตเจพเจชเจธ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ SQLCA เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจ—เจฒเจคเฉ€ เจ•เฉ‹เจก เจจเฉ‚เฉฐ SQLCODE เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• INSERT เจ•เจฅเจจ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉเจชเจฒเฉ€เจ•เฉ‡เจŸ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจ•เฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจฐเฉ‹เจฒ เจฌเฉˆเจ• เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ•เจฒเจพเจ‡เฉฐเจŸ เจคเฉ‹เจ‚ HP เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจเจพ เจตเฉ€ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจตเจœเฉ‹เจ‚ เจฎเฉฐเจจเจฟเจ† เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจชเจนเจฟเจฒเฉ€ HP เจ•เจพเจฒ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจชเฉ‚เจฐเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจคเจฟเฉฐเจจ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจ•เฉ‡; เจฆเฉ‚เจœเฉ€ HP เจ•เจพเจฒ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจšเฉŒเจฅเฉ‡ เจฐเจฟเจ•เจพเจฐเจก เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจฐเฉ‹เจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจชเจฐเจฌเฉฐเจงเจฟเจค เจธเฉ€; เจคเฉ€เจœเฉ€ เจ•เจพเจฒ เจซเฉ‡เจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจฐเจฟเจ•เจพเจฐเจก เจนเจจ.

เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚?

create table t(i integer, constraint i_ch check (i < 3));
 
begin
    insert into t values (1);
    insert into t values (null);
    insert into t values (2);
    insert into t values (null);
    insert into t values (3);
    insert into t values (null);
    insert into t values (4);
    insert into t values (null);
    insert into t values (5);
exception
    when others then
        dbms_output.put_line('Oops!');
end;
/

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (11.2 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):

เจ‡เฉฑเจ• เจœเจพเจ‚เจš เจชเจพเจฌเฉฐเจฆเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจผเจฐเจค เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจฐเฉเจ•เจพเจตเจŸ เจจเฉ‚เฉฐ เจธเฉฐเจคเฉเจธเจผเจŸ เจ•เจฐเจจ เจฒเจˆ, เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจœเจพเจ‚ เจ…เจฃเจœเจพเจฃ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ (เจจเจฒ เจ•เจพเจฐเจจ)เฅค เจœเจฆเฉ‹เจ‚ เจ“เจฐเฉ‡เจ•เจฒ เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจ•เจคเจพเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจšเฉˆเจ• เจ•เฉฐเจธเจŸเฉเจฐเฉˆเจ‚เจŸ เจธเจผเจฐเจค เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจตเฉ€ เจ•เจพเจฒเจฎ เจจเจพเจฎ เจ‰เจธ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจ•เจพเจฒเจฎ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจตเฉˆเจฒเจฏเฉ‚ เจจเฉฑเจฒ เจšเฉˆเฉฑเจ• เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ…เจ—เจฟเจ†เจค เจฌเจฒเจพเจ• เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจšเจฒเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจฎเฉเฉฑเจฒ 3 เจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ—เจฒเจคเฉ€ เจนเฉˆเจ‚เจกเจฒเจฟเฉฐเจ— เจฌเจฒเจพเจ• เจ…เจชเจตเจพเจฆ เจจเฉ‚เฉฐ เจธเจพเจซเจผ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจ•เฉ‹เจˆ เจฐเฉ‹เจฒเจฌเฉˆเจ• เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจšเจพเจฐ เจ•เจคเจพเจฐเจพเจ‚ เจฌเจšเฉ€เจ†เจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚ เจฎเฉเฉฑเจฒ 1, null, 2 เจ…เจคเฉ‡ null เจจเจพเจฒ เจฆเฉเจฌเจพเจฐเจพเฅค

เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจœเฉ‹เฉœเฉ‡ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจธเจฎเจพเจจ เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจš เจธเจชเฉ‡เจธ เจฒเฉˆเจฃเจ—เฉ‡?

create table t (
    a char(1 char),
    b char(10 char),
    c char(100 char),
    i number(4),
    j number(14),
    k number(24),
    x varchar2(1 char),
    y varchar2(10 char),
    z varchar2(100 char));
 
insert into t (a, b, i, j, x, y)
    values ('Y', 'ะ’ะฐัั', 10, 10, 'ะ”', 'ะ’ะฐัั');

  • เจ เจ…เจคเฉ‡ เจเจ•เจธ
  • เจฌเฉ€ เจ…เจคเฉ‡ เจตเจพเจˆ
  • เจธเฉ€ เจ…เจคเฉ‡ เจ•เฉ‡
  • เจธเฉ€ เจ…เจคเฉ‡ เจœเจผเฉˆเฉฑเจก
  • เจ•เฉ‡ เจ…เจคเฉ‡ เจœเจผเฉˆเฉฑเจก
  • เจฎเฉˆเจ‚ เจ…เจคเฉ‡ เจœเฉ‡
  • เจœเฉ‡ เจ…เจคเฉ‡ เจเจ•เจธ
  • เจธเจพเจฐเฉ‡ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ‡เฉฑเจฅเฉ‡ Oracle เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ (12.1.0.2) เจฆเฉ‡ เจ…เฉฐเจธเจผ เจนเจจเฅค

CHAR เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ
CHAR เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เฉฑเจ–เจฐ เจธเฉˆเฉฑเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ-เจฒเฉฐเจฌเจพเจˆ เจ…เฉฑเจ–เจฐ เจธเจคเจฐ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เฉฑเจ–เจฐ เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค Oracle เจ‡เจน เจธเฉเจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• CHAR เจ•เจพเจฒเจฎ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจธเจพเจฐเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจšเฉเจฃเฉ€ เจ—เจˆ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจ…เจฐเจฅ เจตเจฟเจ—เจฟเจ†เจจ เจตเจฟเฉฑเจš เจ†เจ•เจพเจฐ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจฒเฉฐเจฌเจพเจˆ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจพเจฒเจฎ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจคเฉ‹เจ‚ เจ›เฉ‹เจŸเจพ เจฎเฉเฉฑเจฒ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ Oracle เจฌเจฒเฉˆเจ‚เจ•-เจชเฉˆเจก เจจเฉ‚เฉฐ เจ•เจพเจฒเจฎ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ 'เจคเฉ‡ เจชเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

VARCHAR2 เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ
VARCHAR2 เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เฉฑเจ–เจฐ เจธเฉˆเฉฑเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ-เจฒเฉฐเจฌเจพเจˆ เจ…เฉฑเจ–เจฐ เจธเจคเจฐ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เฉฑเจ–เจฐ เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค Oracle เจ‡เฉฑเจ• VARCHAR2 เจ•เจพเจฒเจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เฉฑเจ–เจฐ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจ–เจพเจฒเฉ€-เจชเฉˆเจกเจฟเฉฐเจ— เจฆเฉ‡, เจฌเจธเจผเจฐเจคเฉ‡ เจ•เจฟ เจฎเฉเฉฑเจฒ เจ•เจพเจฒเจฎ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจพ เจนเฉ‹เจตเฉ‡เฅค

NUMBER เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ
NUMBER เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ 1.0 x 10-130 เจคเฉ‹เจ‚ 1.0 x 10126 เจคเฉฑเจ• เจฆเฉ‡ เจธเฉฐเจชเฉ‚เจฐเจจ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจœเจผเฉ€เจฐเฉ‹ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจ…เจคเฉ‡ เจจเจ•เจพเจฐเจพเจคเจฎเจ• เจธเจฅเจฟเจฐ เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจชเจฐ 1.0 x 10126 เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€เฅค 1 x 22, เจซเจฟเจฐ เจ“เจฐเฉ‡เจ•เจฒ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• NUMBER เจฎเฉเฉฑเจฒ เจฒเจˆ XNUMX เจคเฉ‹เจ‚ XNUMX เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจ‡เฉฑเจ• เจ–เจพเจธ เจ…เฉฐเจ•เฉ€ เจกเฉ‡เจŸเจพ เจฎเฉเฉฑเจฒ NUMBER(p) เจฒเจˆ เจฌเจพเจˆเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจพเจฒเจฎ เจฆเจพ เจ†เจ•เจพเจฐ, เจœเจฟเฉฑเจฅเฉ‡ p เจ‡เฉฑเจ• เจฆเจฟเฉฑเจคเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจนเฉˆ, เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจซเจพเจฐเจฎเฉ‚เจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ—เจฟเจฃเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจ—เฉ‹เจฒ((เจฒเฉฐเจฌเจพเจˆ(p)+s)/2))+1 เจœเจฟเฉฑเจฅเฉ‡ เจธเฉฐเจ–เจฟเจ† เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจนเฉˆ เจคเจพเจ‚ s เจœเจผเฉ€เจฐเฉ‹ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆ, เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจธเฉฐเจ–เจฟเจ† เจจเฉˆเจ—เฉ‡เจŸเจฟเจต เจนเฉˆ เจคเจพเจ‚ s 1 เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ†เจ“ เจจเจฒ เจตเฉˆเจฒเจฏเฉ‚เจœเจผ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ…เฉฐเจธเจผ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ‡เฉฑเจ• เจ•เจพเจฒเจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจฆเฉ€ เจ…เจฃเจนเฉ‹เจ‚เจฆ เจนเฉˆเฅค เจจเฉฑเจฒ เจ—เฉเฉฐเจฎ, เจ…เจฃเจœเจพเจฃ, เจœเจพเจ‚ เจฒเจพเจ—เฉ‚ เจจเจพ เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจจเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเฉ‡เจ•เจฐ เจ‰เจน เจกเฉ‡เจŸเจพ เจฎเฉเฉฑเจฒเจพเจ‚ เจตเจพเจฒเฉ‡ เจ•เจพเจฒเจฎเจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจ‡เจนเจจเจพเจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒเจฎ (เจœเจผเฉ€เจฐเฉ‹) เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ 1 เจฌเจพเจˆเจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจŸเฉเจฐเฉ‡เจฒเจฟเฉฐเจ— เจจเจฒ เจฒเจˆ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ•เจคเจพเจฐ เจนเฉˆเจกเจฐ เจธเฉฐเจ•เฉ‡เจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจชเจฟเจ›เจฒเฉ€ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจฌเจพเจ•เฉ€ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจ•เจพเจฒเจฎ เจ–เจพเจฒเฉ€ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€ เจฆเฉ‡ เจ†เจ–เจฐเฉ€ เจคเจฟเฉฐเจจ เจ•เจพเจฒเจฎ เจ–เจพเจฒเฉ€ เจนเจจ, เจคเจพเจ‚ เจ‡เจนเจจเจพเจ‚ เจ•เจพเจฒเจฎเจพเจ‚ เจฒเจˆ เจ•เฉ‹เจˆ เจกเจพเจŸเจพ เจธเจŸเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจนเจจเจพเจ‚ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจคเจฐเจ• เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจธเฉ€เจ‚ เจฎเฉฐเจจเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ AL32UTF8 เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจตเจฟเฉฑเจš, เจฐเฉ‚เจธเฉ€ เจ…เฉฑเจ–เจฐ 2 เจฌเจพเจˆเจŸเจพเจ‚ เจ‰เฉฑเจคเฉ‡ เจ•เจฌเจœเจผเจพ เจ•เจฐเจจเจ—เฉ‡เฅค

1) A เจ…เจคเฉ‡ X, เจซเฉ€เจฒเจก a 'Y' เจฆเจพ เจฎเฉเฉฑเจฒ 1 เจฌเจพเจˆเจŸ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ, เจซเฉ€เจฒเจก x 'D' เจฆเจพ เจฎเฉเฉฑเจฒ 2 เจฌเจพเจˆเจŸ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ
2) B เจ…เจคเฉ‡ Y, b เจตเจฟเฉฑเจš 'Vasya' 10 เจ…เฉฑเจ–เจฐเจพเจ‚ เจคเฉฑเจ• เจธเจชเฉ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจชเฉˆเจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ 14 เจฌเจพเจˆเจŸเจธ เจฒเจตเฉ‡เจ—เจพ, d เจตเจฟเฉฑเจš 'Vasya' 8 เจฌเจพเจˆเจŸ เจฒเจตเฉ‡เจ—เจพเฅค
3) C เจ…เจคเฉ‡ Kเฅค เจฆเฉ‹เจตเจพเจ‚ เจซเฉ€เจฒเจกเจพเจ‚ เจฆเจพ เจฎเฉเฉฑเจฒ NULL เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ–เฉ‡เจคเจฐ เจนเจจ, เจ‡เจธเจฒเจˆ เจ‰เจน 1 เจฌเจพเจˆเจŸ เจ‰เฉฑเจคเฉ‡ เจ•เจฌเจœเจผเจพ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค
4) C เจ…เจคเฉ‡ Zเฅค เจฆเฉ‹เจตเจพเจ‚ เจซเฉ€เจฒเจกเจพเจ‚ เจฆเจพ เจฎเฉเฉฑเจฒ NULL เจนเฉˆ, เจชเจฐ เจซเฉ€เจฒเจก Z เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‡เจน เจธเจชเฉ‡เจธ (0 เจฌเจพเจˆเจŸ) เจจเจนเฉ€เจ‚ เจฒเฉˆเจ‚เจฆเจพเฅค เจซเฉ€เจฒเจก C 1 เจฌเจพเจˆเจŸ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค
5) K เจ…เจคเฉ‡ Z. เจชเจฟเจ›เจฒเฉ‡ เจ•เฉ‡เจธ เจตเจพเจ‚เจ— เจนเฉ€เฅค K เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒ Z - 1 เจตเจฟเฉฑเจš 0 เจฌเจพเจˆเจŸ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค
6) I เจ…เจคเฉ‡ J. เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจฆเฉ‹เจตเฉ‡เจ‚ เจฎเฉเฉฑเจฒ 2 เจฌเจพเจˆเจŸ เจฒเฉˆเจฃเจ—เฉ‡เฅค เจ…เจธเฉ€เจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจคเฉ‹เจ‚ เจฒเจ เจ—เจ เจซเจพเจฐเจฎเฉ‚เจฒเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚: round(1 + 0)/2) +1 = 1 + 1 = 2เฅค
7) J เจ…เจคเฉ‡ X. J เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒ 2 เจฌเจพเจˆเจŸ เจฒเจตเฉ‡เจ—เจพ, X เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒ 2 เจฌเจพเจˆเจŸ เจฒเจตเฉ‡เจ—เจพเฅค

เจ•เฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจ•เฉ‡, เจธเจนเฉ€ เจตเจฟเจ•เจฒเจช เจนเจจ: C เจ…เจคเฉ‡ K, I เจ…เจคเฉ‡ J, J เจ…เจคเฉ‡ Xเฅค

T_I เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฆเจพ เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจฒเจ—เจญเจ— เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ?

create table t (i integer);
 
insert into t select rownum from dual connect by level <= 10000;
 
create index t_i on t(i);

  • เจฆเจธเจพเจ‚ เจฌเจพเจฐเฉ‡
  • เจธเฉˆเจ‚เจ•เฉœเฉ‡ เจฌเจพเจฐเฉ‡
  • เจนเจœเจผเจพเจฐเจพเจ‚ เจฌเจพเจฐเฉ‡
  • เจนเจœเจผเจพเจฐเจพเจ‚ เจฆเฉ‡ เจ•เจฐเฉ€เจฌ

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (12.1 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):

เจ‡เฉฑเจ• เจฌเฉ€-เจŸเฉเจฐเฉ€ เจ‡เฉฐเจกเฉˆเจ•เจธ เจฒเจˆ, เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจ‡เฉฑเจ• เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจš เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ‡ เจญเฉŒเจคเจฟเจ• เจธเจฎเฉ‚เจน เจจเฉ‚เฉฐ เจฎเจพเจชเจฆเจพ เจนเฉˆเฅค

เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเจผเจฐ เจจเฉ‚เฉฐ เจ‡เจน เจซเฉˆเจธเจฒเจพ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ•เฉเจ เจธเจตเจพเจฒเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจธเจ•เฉˆเจจ เจœเจพเจ‚ เจชเฉ‚เจฐเจพ เจŸเฉ‡เจฌเจฒ เจธเจ•เฉˆเจจ เจตเจงเฉ‡เจฐเฉ‡ เจ•เฉเจธเจผเจฒ เจนเฉˆ)เฅค เจ‡เฉฑเจ• เจ˜เฉฑเจŸ เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจ•เจพเจฐเจ• เจ‡เฉฑเจ• เจ•เฉเจธเจผเจฒ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจธเจ•เฉˆเจจ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจœเฉ‹ เจ‡เฉฑเจ• เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉˆ เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ•เฉเฉฐเจœเฉ€ เจฆเฉเจ†เจฐเจพ เจธเจพเจฐเจฃเฉ€ เจฆเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจญเฉŒเจคเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจŸเฉ‡เจฌเจฒ เจธเจ•เฉˆเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจ‡เฉฐเจกเฉˆเจ•เจธ เจ•เฉเฉฐเจœเฉ€ เจฆเฉเจ†เจฐเจพ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจกเจฟเจธเจ• เจ‰เฉฑเจคเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจœเฉ‹ เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจนเฉˆ เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจคเจพเจฐเจพเจ‚ เจ‡เฉฐเจกเฉˆเจ•เจธ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจขเฉฐเจ— เจจเจพเจฒ เจ–เจฟเฉฐเจกเฉ€เจ†เจ‚ เจนเฉ‹เจˆเจ†เจ‚ เจนเจจเฅค เจœเฉ‡เจ•เจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจŸเฉ‡เจฌเจฒ เจธเจ•เฉˆเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‡เจธ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจ•เฉเฉฐเจœเฉ€ เจฆเฉเจ†เจฐเจพ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฒเฉœเฉ€เจฌเฉฑเจง เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ†เจฆเจฐเจธเจผ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เฉเจฐเจฎเจฌเฉฑเจง เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ•เจฌเจœเจผเฉ‡ เจตเจพเจฒเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจœเจพเจ‚ เจจเฉ‡เฉœเฉ‡ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค 8 เจ•เจฟเจฒเฉ‹เจฌเจพเจˆเจŸ เจฆเฉ‡ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐเฉ€ เจฌเจฒเจพเจ• เจ†เจ•เจพเจฐ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจนเจœเจผเจพเจฐ เจคเฉฐเจ— เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจ‡เฉฑเจ• เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจนเฉ‹เจฃเจ—เฉ‡, เจ‡เจธ เจฒเจˆ เจฌเจฒเจพเจ•เจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€, เจ…เจคเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ•เจฒเฉฑเจธเจŸเจฐเจฟเฉฐเจ— เจซเฉˆเจ•เจŸเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ. เจฆเจธเจพเจ‚ เจฌเจพเจฐเฉ‡.

N เจฆเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ 'เจคเฉ‡ เจฎเจฟเจ†เจฐเฉ€ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจšเจฒเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ?

create table t (
    a varchar2(N char),
    b varchar2(N char),
    c varchar2(N char),
    d varchar2(N char));
 
create index t_i on t (a, b, c, d);

  • 100
  • 200
  • 400
  • 800
  • 1600
  • 3200
  • 6400

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (11.2 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):

เจฒเจพเจœเจผเฉ€เจ•เจฒ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจธเฉ€เจฎเจพเจตเจพเจ‚

เจ†เจˆเจŸเจฎ
เจธเฉ€เจฎเจพ เจฆเฉ€ เจ•เจฟเจธเจฎ
เจธเฉ€เจฎเจพ เจฎเฉเฉฑเจฒ

เจธเฉ‚เจšเฉ€เจชเฉฑเจคเจฐ
เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจพเจฒเจฎ เจฆเจพ เจ•เฉเฉฑเจฒ เจ†เจ•เจพเจฐ
75% เจกเจพเจŸเจพเจฌเฉ‡เจธ เจฌเจฒเจพเจ• เจ†เจ•เจพเจฐ เจ˜เจŸเจพเจ“ เจ•เฉเจ เจ“เจตเจฐเจนเฉˆเฉฑเจก

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจพเจฒเจฎเจพเจ‚ เจฆเจพ เจ•เฉเฉฑเจฒ เจ†เจ•เจพเจฐ 6Kb เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ‡เจน เจšเฉเจฃเฉ€ เจ—เจˆ เจฌเฉ‡เจธ เจ‡เฉฐเจ•เฉ‹เจกเจฟเฉฐเจ— 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค AL32UTF8 เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจฒเจˆ, เจ‡เฉฑเจ• เจ…เฉฑเจ–เจฐ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง 4 เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ—เฉเจฐเจนเจฟเจฃ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจฎเจพเฉœเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจฒเจ—เจญเจ— 6 เจ…เฉฑเจ–เจฐ 1500 เจ•เจฟเจฒเฉ‹เจฌเจพเจˆเจŸ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจนเฉ‹เจฃเจ—เฉ‡เฅค เจ‡เจธ เจฒเจˆ, เจ“เจฐเฉ‡เจ•เจฒ N = 400 'เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฎเจจเจพเจนเฉ€ เจ•เจฐเฉ‡เจ—เจพ (เจœเจฆเฉ‹เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจฎเจพเฉœเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ 1600 เจ…เฉฑเจ–เจฐ * 4 เจฌเจพเจˆเจŸ + เจฐเฉ‹เจตเจฟเจก เจฒเฉฐเจฌเจพเจˆ เจนเฉˆ), เจœเจฆเจ•เจฟ N = 200 (เจœเจพเจ‚ เจ˜เฉฑเจŸ) 'เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจฃเจพเจ‰เจฃเจพ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพเฅค

APPEND เจธเฉฐเจ•เฉ‡เจค เจฆเฉ‡ เจจเจพเจฒ INSERT เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจกเจพเจŸเจพ เจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจน เจ‰เจธ เจŸเฉ‡เจฌเจฒ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจŸเจฐเจฟเฉฑเจ—เจฐ เจฒเจŸเจ•เจฆเจพ เจนเฉˆ?

  • เจกเจพเจŸเจพ เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจŸเจฐเจฟเฉฑเจ—เจฐ เจ‰เจฎเฉ€เจฆ เจฎเฉเจคเจพเจฌเจ• เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ
  • เจกเจพเจŸเจพ เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจชเจฐ เจŸเจฐเจฟเฉฑเจ—เจฐ เจจเฉ‚เฉฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ
  • เจกเจพเจŸเจพ เจฐเจตเจพเจ‡เจคเฉ€ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจŸเจฐเจฟเฉฑเจ—เจฐ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ เจœเจฟเจตเฉ‡เจ‚ เจ‡เจน เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ
  • เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฐเจตเจพเจ‡เจคเฉ€ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจชเจฐ เจŸเจฐเจฟเฉฑเจ—เจฐ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‡เจ† เจจเจนเฉ€เจ‚ เจœเจพเจตเฉ‡เจ—เจพ
  • เจกเฉ‡เจŸเจพ เจฒเฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเจฐเจœ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจคเจฐเจ• เจฆเจพ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเจตเจพเจฒ เจนเฉˆ. เจธเจนเฉ€ เจœเจตเจพเจฌ เจฒเฉฑเจญเจฃ เจฒเจˆ, เจฎเฉˆเจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจคเจฐเจ• เจฎเจพเจกเจฒ เจฆเจพ เจธเฉเจเจพเจ… เจฆเฉ‡เจตเจพเจ‚เจ—เจพ:

  1. เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจธเฉฐเจฎเจฟเจฒเจจ เจ‡เฉฑเจ• เจกเจพเจŸเจพ เจฌเจฒเจพเจ• เจฆเฉ‡ เจธเจฟเฉฑเจงเฉ‡ เจ—เจ เจจ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, SQL เจ‡เฉฐเจœเจฃ เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจ•เฉ‡, เจœเฉ‹ เจ‰เฉฑเจš เจ—เจคเฉ€ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจŸเจฐเจฟเฉฑเจ—เจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจฌเจนเฉเจค เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ, เจœเฉ‡ เจ…เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจ•เฉ‹เจˆ เจฎเจคเจฒเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจธเฉฐเจฎเจฟเจฒเจจ เจจเฉ‚เฉฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจนเฉŒเจฒเฉ€ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค
  2. เจŸเจฐเจฟเฉฑเจ—เจฐ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจ…เจธเจซเจฒเจคเจพ เจ‡เจธ เจคเฉฑเจฅ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจตเฉ‡เจ—เฉ€ เจ•เจฟ, เจœเฉ‡เจ•เจฐ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจฎเฉเฉฑเจšเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ (เจนเฉ‹เจฐ เจŸเฉ‡เจฌเจฒ) เจ‰เจธ เจฎเฉ‹เจก 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเฉ‡เจ—เฉ€ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เจน เจกเฉ‡เจŸเจพ เจชเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ‡เจ•เจธเจพเจฐเจคเจพ เจจเฉ‚เฉฐ เจจเจธเจผเจŸ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจนเฉฑเจฒ เจตเจœเฉ‹เจ‚ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค
  3. เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฆเฉ€ เจ…เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ APPEND เจ‡เฉฑเจ• เจ‡เจธเจผเจพเจฐเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเฉฐเจ•เฉ‡เจคเจพเจ‚ เจฆเจพ เจ†เจฎ เจคเจฐเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจœเฉ‡ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจจเจนเฉ€เจ‚, เจคเจพเจ‚ เจ“เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจธเฉฐเจ•เฉ‡เจค เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฒเจ เจฌเจฟเจจเจพเจ‚ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ€ เจœเจตเจพเจฌ เจนเฉˆ เจกเจพเจŸเจพ เจ†เจฎ (SQL) เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจŸเจฐเจฟเฉฑเจ—เจฐ เจซเจพเจ‡เจฐ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ“เจฐเฉ‡เจ•เจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (8.04 เจคเฉ‹เจ‚ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ†):

เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ•เจพเจฐเจจ เจ•เจฅเจจ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจœเจพเจ‚ เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ‡, เจฐเจตเจพเจ‡เจคเฉ€ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจฎเจพเจฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจฒเฉœเฉ€เจตเจพเจฐ เจšเจฒเจพเจ‰เจฃ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเฉ‡เจ—เจพเฅค เจ‡เฉฑเจ• เจ…เจชเจตเจพเจฆ เจ‡เฉฑเจ• เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจตเจพเจฐ เจ‡เฉฑเจ•เฉ‹ เจธเจพเจฐเจฃเฉ€ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฌเจฟเจ†เจจเจพเจ‚ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจจเจพเจฒ เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเฉ‡ เจ† เจธเจ•เจฆเฉ‡ เจนเจจเฅค
เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจŸเฉ‡เจฌเจฒ 'เจคเฉ‡ เจŸเจฐเจฟเจ—เจฐ เจœเจพเจ‚ เจธเฉฐเจฆเจฐเจญ เจ‡เจ•เจธเจพเจฐเจคเจพ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจคเจพเจ‚ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจกเจพเจ‡เจฐเฉˆเจ•เจŸ-เจฒเฉ‹เจก INSERT (เจธเฉ€เจฐเฉ€เจ…เจฒ เจœเจพเจ‚ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ APPEND เจธเฉฐเจ•เฉ‡เจค เจจเฉ‚เฉฐ เจ…เจฃเจกเจฟเฉฑเจ  เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจจเจพเจฒ เจนเฉ€ เจธเจฎเจพเจจเฉฐเจคเจฐ เจธเฉฐเจ•เฉ‡เจค เจœเจพเจ‚ เจงเจพเจฐเจพ, เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจนเฉ‹เจตเฉ‡เฅค

เจœเจฆเฉ‹เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ?

create table t(i integer not null primary key, j integer references t);
 
create trigger t_a_i after insert on t for each row
declare
    pragma autonomous_transaction;
begin
    insert into t values (:new.i + 1, :new.i);
    commit;
end;
/
 
insert into t values (1, null);

  • เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ
  • เจธเฉฐเจŸเฉˆเจ•เจธ เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ…เจธเจซเจฒเจคเจพ
  • เจ—เจฒเจคเฉ€: เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจตเฉˆเจง เจจเจนเฉ€เจ‚ เจนเฉˆ
  • เจ…เจงเจฟเจ•เจคเจฎ เจ•เจพเจฒ เจจเฉ‡เจธเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจชเจพเจฐ เจ•เจฐเจจ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ—เฉœเจฌเฉœ
  • เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ—เจฒเจคเฉ€
  • เจคเจพเจฒเฉ‡ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจคเจฐเฉเฉฑเจŸเฉ€

เจœเจตเจพเจฌ เจฆเจฟเจ‰เจธเจพเจฐเจฃเฉ€ เจ…เจคเฉ‡ เจŸเจฐเจฟเฉฑเจ—เจฐ เจฌเจฟเจฒเจ•เฉเจฒ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฌเจฃเจพเจ เจ—เจ เจนเจจ เจ…เจคเฉ‡ เจ‡เจธ เจ•เจพเจฐเจตเจพเจˆ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เฉฑเจ• เจŸเจฐเจฟเฉฑเจ—เจฐ เจตเจฟเฉฑเจš เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆ, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจฒเฉŒเจ—เจฟเฉฐเจ— เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆเฅค

เจชเจนเจฟเจฒเฉ€ เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เฉฑเจ• เจธเจซเจฒ เจŸเจฐเจฟเฉฑเจ—เจฐ เจซเจพเจ‡เจฐเจฟเฉฐเจ— เจฆเฉ‚เจœเฉ€ เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเฉ‡เจ—เฉ€, เจœเจฟเจธ เจจเจพเจฒ เจŸเจฐเจฟเฉฑเจ—เจฐ เจฆเฉเจฌเจพเจฐเจพ เจซเจพเจ‡เจฐ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ, เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€ เจ•เจคเจพเจฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจพเจฒเจพเจ‚ เจฆเฉ‡ เจ…เจงเจฟเจ•เจคเจฎ เจ†เจฒเฉเจนเจฃเฉ‡ เจจเฉ‚เฉฐ เจชเจพเจฐ เจ•เจฐเจจ เจ•เจพเจฐเจจ เจธเจŸเฉ‡เจŸเจฎเฉˆเจ‚เจŸ เจ…เจธเจซเจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเฉ‚เจ–เจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจ–เฉ‡เจก เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ. เจœเจฆเฉ‹เจ‚ เจŸเจฐเจฟเฉฑเจ—เจฐ เจจเฉ‚เฉฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจนเจฟเจฒเฉ‡ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจฐเจฟเจ•เจพเจฐเจก เจฒเจˆ เจ•เจฎเจฟเจŸ เจ…เจœเฉ‡ เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค เจ‡เจธเจฒเจˆ, เจ‡เฉฑเจ• เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจ‡เฉฑเจ• เจŸเจฐเจฟเฉฑเจ—เจฐ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจธเฉฐเจฎเจฟเจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฐเจฟเจ•เจพเจฐเจก เจฒเจˆ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ…เจœเฉ‡ เจคเฉฑเจ• เจชเฉเจฐเจคเฉ€เจฌเฉฑเจง เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจจเจคเฉ€เจœเจพ เจ‡เฉฑเจ• เจ‰เจกเฉ€เจ• เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเจพ เจนเฉˆ (เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจ•เจฟ เจ•เฉ€ เจ‡เจน เจกเฉ‡เจŸเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจฎเฉเฉฑเจ– เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆ) เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจฎเฉเฉฑเจ– เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจŸเจฐเจฟเฉฑเจ—เจฐ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจ†เจŸเฉ‹เจจเฉ‹เจฎเจธ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจกเฉˆเฉฑเจกเจฒเจพเจ• เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡, เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจคเจพเจฒเฉ‡ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจ–เฉเจฆเจฎเฉเจ–เจคเจฟเจ†เจฐเฉ€ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ.

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจ‡เจน เจฎเฉเจธเจผเจ•เจฒ เจธเฉ€?

  • เจฆเฉ‹ เจ‰เจ‚เจ—เจฒเจพเจ‚ เจตเจพเจ‚เจ—, เจฎเฉˆเจ‚ เจคเฉเจฐเฉฐเจค เจธเจญ เจ•เฉเจ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ.

  • เจ…เจธเจฒ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจฎเฉˆเจ‚ เจ•เฉเจ เจธเจตเจพเจฒเจพเจ‚ 'เจคเฉ‡ เจ—เจฒเจค เจธเฉ€เฅค

  • เจฎเฉˆเจ‚ เจ‡เจธเจฆเจพ เจ…เฉฑเจงเจพ เจธเจนเฉ€ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ.

  • เจฎเฉˆเจ‚ เจฆเฉ‹ เจตเจพเจฐ เจœเจตเจพเจฌ เจฆเจพ เจ…เจจเฉเจฎเจพเจจ เจฒเจ—เจพเจ‡เจ†!

  • เจฎเฉˆเจ‚ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจพเจ‚เจ—เจพ

14 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 10 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡ เจนเฉ‹เจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹