मैं एक मानक एसक्यूएल "UPSERT
" कथन की तलाश में हूं। यदि मौजूद है तो सम्मिलित करने और अपडेट करने के लिए एक कॉल।एसक्यूएल मानक यूपीएसईआरटी कॉल
मैं एक कामकाजी, कुशल और पार मंच कॉल की तलाश में हूं।
मैंने MERGE
, UPSERT
, REPLACE
, INSERT .. ON DUPLICATE UPDATE
देखा है लेकिन कोई भी विवरण आवश्यकताओं को पूरा नहीं करता है।
बीटीडब्ल्यू मैं यूनिट्स के लिए MYSQL और 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)
);
किसी भी विचार?
Thanx;)
'सम्मिलित करें .. पर डुप्लिकेट UPDATE'' mYSQL' में महत्वपूर्ण है। क्या आप कुछ रिकॉर्ड या शायद टेबल संरचना दिखा सकते हैं? –
हाँ लेकिन यह केवल MYSQL में समर्थित है। एचएसक्यूएलडीबी और अन्य सभी इसका उपयोग नहीं करते हैं ... – BobTheBuilder
एक एएनएसआई विलय (http://en.wikipedia.org/wiki/Merge_%28SQL%29) है, लेकिन यह सभी डीबीएमएस में लागू नहीं किया गया है। तो एक सार्वभौमिक आदेश के लिए कोई उम्मीद नहीं है। –