표준 SQL "UPSERT
"문을 찾고 있습니다. 삽입 및 업데이트가 있으면 호출합니다.SQL 표준 UPSERT 호출
나는 효율적이고 효율적인 크로스 플랫폼 호출을 찾고 있습니다.
나는 MERGE
, UPSERT
, REPLACE
, INSERT .. ON DUPLICATE UPDATE
을 본 적이 있지만 문은 요구 사항을 충족하지 않습니다.
BTW MYSQL과 HSQLDB를 사용합니다. 나는 HSQLDB가 제한되어 있고 내가 필요로하는 것을 다루지 않을 수도 있다는 것을 이해한다.하지만 HSQLDB가 없어도 표준 방법을 찾을 수 없었다. MYSQL과 HSQLDB만으로도 충분할 것입니다.
저는 한동안 주변을 둘러 보았고 대답을 얻을 수 없었습니다.
내 테이블 :
CREATE TABLE MY_TABLE (
MY_KEY varchar(50) NOT NULL ,
MY_VALUE varchar(50) DEFAULT NULL,
TIME_STAMP bigint NOT NULL,
PRIMARY KEY (MY_KEY)
);
어떤 생각?
고맙습니다)
'INSERT .. 중복 UPDATE'가 mYSQL''의 핵심은 켜짐입니다. 몇 가지 레코드 또는 테이블 구조를 보여줄 수 있습니까? –
그래도 MYSQL에서만 지원됩니다. HSQLDB와 다른 모든 사람들은 그것을 사용하지 않습니다 ... – BobTheBuilder
ANSI 병합 (http://en.wikipedia.org/wiki/Merge_%28SQL%29)이 있지만 모든 DBMS에서 구현되지 않았습니다. 보편적 인 명령에 대한 희망이 없습니다. –