استعلام Oracle SQL، قم بتسلسل الملفات مع قسم الحالة
سؤال
أقوم حاليًا بإنشاء عبارات إدراج SQL من أكثر من جدول واحد، وفي البيانات التي تم إنشاؤها أحتاج إلى استخدام عبارة CASE، مثل هذا:
select 'INSERT INTO TABLE1 (f1, f2, f3, f4 ...) values ('
||t.f1||','
||CASE
WHEN t.f2 > 0 THEN '1'
ELSE '0'
END CASE
from table2 t , table3 t3
ولكن في هذه المرحلة إذا كنت أرغب في مواصلة بياني مع ... END CASE||','|| ....
لا يمكنني تشغيل الاستعلام بعد الآن، حيث يشكو TOAD من عدم العثور على الكلمة الأساسية FROM.
كان الحل السريع هو فصل الإخراج إلى حقول، ثم حفظه في نص وتحريره، ولكن يجب أن تكون هناك طريقة أفضل.
المحلول
استخدم END بدلاً من END CASE
select 'INSERT INTO TABLE1 (f1, f2, f3, f4 ...) values ('
||t.f1||','
||CASE
WHEN t.f2 > 0 THEN '1'
ELSE '0'
END||','||t.f2
from table2 t , table3 t3
نصائح أخرى
في بعض المواقف المشابهة، تعمل وظيفة "فك التشفير" بشكل جيد.
قد تكون قادرًا على إطعام التعبير (T.F2> 0) في فك شفرة ، ثم ترجمة "T" إلى "1" و "F" إلى "0".
لم أحاول هذا.
لا تنتمي إلى StackOverflow