इसे सरल और साफ-सुथरा बनाने के कई तरीके हैं, लेकिन यह मूल रूप से तकनीक का वर्णन करता है:
SELECT data_name
FROM data_table
WHERE data_table.type = v_t_id
UNION ALL
SELECT NULL AS data_name
FROM dual
WHERE NOT EXISTS (
SELECT data_name
FROM data_table
WHERE data_table.type = v_t_id
)
जब संघ का पहला भाग खाली होता है तो दूसरे भाग में एक पंक्ति होती है, जब पहला भाग खाली नहीं होता है, तो दूसरे भाग में कोई पंक्तियाँ नहीं होती हैं।
यदि क्वेरी में अधिक समय लगता है, तो इसका उपयोग करें:
SELECT * FROM (
SELECT data_name
FROM data_table
WHERE data_table.type = v_t_id
UNION ALL
SELECT NULL AS data_name
FROM dual
) WHERE data_name is not null or ROWNUM = 1