سؤال

أحاول البحث DB2 ما يعادل generate_series() (في كيو-طريقة توليد الصفوف).من الواضح أنني لا أريد أن الثابت رمز الصفوف مع القيم البيان.

select * from generate_series(2,4);

    generate_series
    -----------------
                    2
                    3
                    4
    (3 rows)
هل كانت مفيدة؟

المحلول

شرط حيث تحتاج إلى أن يكون قليلا أكثر وضوحا حول حدود العودية في النظام DB2 لقمع تحذير.وهنا تعديل طفيف النسخة التي لا تؤدي إلى التحذير:

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id < 4
)
select id from dummy

نصائح أخرى

تمكنت من كتابة الاستعلام التكرارية التي تناسبها :

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id + 1 between 2 and 4
)
select id from dummy

الاستعلام يمكن أن تتكيف مع ما for(;;) يمكن أن تحلم به.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top