Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

INSERT ON DUPLICATE KEY UPDATE

휘발성(Volatile) 마크베이스는, 흔히 알려진 UPSERT 기능과 유사한 구문을 지원한다.

기본 키가 지정된 Lookup/Volatile 테이블에 값을 입력할 때 사용할 수 있는 특수 구문으로, 기본 키 값이 중복되는 데이터가 이미 테이블에 존재하는 경우에는 기존 데이터의 값이 변경된다.
물론, 키 값이 중복되는 데이터가 존재하지 않는 경우에는 새로운 데이터로 삽입된다.

...

Code Block
sql
sql
create table t1 (i1 integer, i2 varchar(60), i3 varchar(5));
Created successfully.

insert into t1 values (1, 'a', 'ddd' );
1 row(s) inserted.
insert into t1 values (2, 'kkkkkkkkkkkkkkkkkkkkk', 'c');
1 row(s) inserted.

insert into t1 select * from t1;
2 row(s) inserted.
create table t2 (i1 integer, i2 varchar(60), i3 varchar(5));

insert into t2 (_arrival_time, i1, i2, i3) select _arrival_time, * from t1;
4 row(s) inserted.


UPDATE

...

Ui text box
typetip

5.5 부터 제공되는 기능입니다.

update_stmt:

Image Added


update_expr_list:

Image Added


update_expr:

Image Added


Code Block
update_stmt ::= 'UPDATE' table_name ( 'METADATA' )? 'SET' update_expr_list 'WHERE' primary_key_column '=' value
update_expr_list ::= update_expr ( ',' update_expr)*
update_expr ::= column '=' value

INSERT ON DUPLICATE KEY UPDATE 를 통한 UPSERT 가 아닌, UPDATE 구문도 제공된다.

역시, 기본 키 (Primary Key) 가 지정된 Lookup/Volatile 테이블에 값을 입력할 때 사용할 수 있다. WHERE 절에는 기본 키의 일치 조건식을 작성해야 한다.

UPDATE METADATA

TAGDATA 테이블에 한해서, 메타데이터를 업데이트 하고자 할 때 사용한다.

Code Block
sql
sql
UPDATE TAG METADATA SET ...


Ui text box
typenote

TAGDATA 테이블의 메타데이터는 INSERT ON DUPLICATE KEY UPDATE 를 통해 입력/수정할 수 없다.



DELETE

...

delete_stmt:

time_unit:

...