Большое спасибо @GMB, @Roberto Hernandez и @ akk0rd87 за их помощь. Чтобы завершить свой запрос, я использовал уловку @Roberto Hernandez, но его запрос пришлось изменить, так как он всегда давал мне последнюю часть l oop в строке, поскольку «select VselectText» всегда сбрасывал мою строку, поэтому пришлось изменить ее бит.
for cur1 in
(
select distinct nvl(COVID_RISK_ZONE_NAME, 'No Data') "COVID_RISK_ZONE_NAME" from covid_daily_status
)
loop
VparaText:=VparaText||''''||cur1.COVID_RISK_ZONE_NAME||''' AS ' || '"'|| cur1.COVID_RISK_ZONE_NAME||'",';
select VselectText ||'x."'|| cur1.COVID_RISK_ZONE_NAME||'"'|| ' AS ' || '"'||
decode(cur1.covid_risk_zone_name, 'No Classification' , 'Market Opened', 'No Data', 'No Info Avlbl' , cur1.covid_risk_zone_name)||'",'
into VselectTextNew from dual;
vLong := vLong||VselectTextNew; --- Added new string.
end loop;
select SUBSTR(VparaText, 1, LENGTH(VparaText) - 1) into VparaTemp from dual;
select SUBSTR(vLong, 1, LENGTH(vLong) - 1) into VSelectTemp from dual;
Я также попробую запрос @GMB, так как я столкнулся с проблемой при использовании запроса напрямую.