declare
qrq date ;
hrq date;
SQL1 VARCHAR2(130);
SQL2 VARCHAR2(13000);
SQL3 VARCHAR2(13000);
SQL4 VARCHAR2(30000);
begin
sql4:='';
QRQ:=to_date('2016-12-26','yyyy-mm-dd');
HRQ:=to_date('2017-01-25','yyyy-mm-dd');
sql2:='count(CASE WHEN B.TXNDATESN=to_number(to_char(qrq,"yyyymmdd"),"99999999") THEN b.posseq END) AS substr(to_char(qrq,"yyyymmdd"),5,4) || to_char(qrq,"day")';
SQL1:='select a.ryxm as 姓名,';
while QRQ < hRQ
loop
sql2:=sql2+'count(CASE WHEN B.TXNDATESN=to_number(to_char(qrq,"yyyymmdd"),"99999999") THEN b.posseq END) AS substr(to_char(qrq,"yyyymmdd"),5,4) || to_char(qrq,"day")';
QRQ:=qrq+1;
end loop;
SQL3:=' from gjzg a,TDCXTXNDETAILTB20170101 b where a.ygkh=b.cardid and a.txntype=31 and to_char(b.busid)=055555 and b.TXNDATESN>=to_number(to_char(qrq,"yyyymmdd"),"99999999") and b.TXNDATESN<=to_number(to_char(hrq,"yyyymmdd"),"99999999") group by a.ryxm';
SQL4:=SQL1+SQL2+sql3;
end;
uj5u.com熱心網友回復:
字串連接用 || 這個符號,不要用+號。sql2:=sql2 || ''; 這樣寫。
uj5u.com熱心網友回復:
a:= b + c這樣的語我,會把 b 和c 轉換成數值,再進行算述運算。
按 1 #所說,改成 ||
a: = b || c
uj5u.com熱心網友回復:
謝謝,沒有提示錯誤了,但是不顯示結果uj5u.com熱心網友回復:
當然沒結果,你只是變數賦值,根本沒列印之類的操作,在end前加一行列印看看結果dbms_output.put_line(SQL4);
uj5u.com熱心網友回復:
謝謝大蝦們!!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/104843.html
標籤:基礎和管理
上一篇:java連接oracle資料庫報錯ntly know of service requested in connect descriptor
下一篇:千萬資料查詢
