है मैं इस तरह एक प्रश्न (एक समारोह में):स्तंभ अद्यतन नहीं करते हैं अद्यतन मान शून्य
UPDATE some_table SET
column_1 = param_1,
column_2 = param_2,
column_3 = param_3,
column_4 = param_4,
column_5 = param_5
WHERE id = some_id;
कहाँ param_x
मेरी समारोह की एक पैरामीटर है। क्या उन कॉलम को अपडेट करने का कोई तरीका नहीं है, जिसके लिए परम NULL
है? उदाहरण के लिए - यदि param_4
और param_5
NULL
हैं, तो केवल पहले तीन कॉलम अपडेट करें और column_4
और column_5
के लिए पुराने मान छोड़ दें।
तरह से मैं अब यह कर रहा हूँ है:
SELECT * INTO temp_row FROM some_table WHERE id = some_id;
UPDATE some_table SET
column_1 = COALESCE(param_1, temp_row.column_1),
column_2 = COALESCE(param_2, temp_row.column_2),
column_3 = COALESCE(param_3, temp_row.column_3),
column_4 = COALESCE(param_4, temp_row.column_4),
column_5 = COALESCE(param_5, temp_row.column_5)
WHERE id = some_id;
वहाँ एक बेहतर तरीका है?
मुझे लगता है कि जाने के लिए रास्ता नहीं है। –