未解問題彙總

1.從前寫sql語句時as 中文一列名時,除非是關鍵字否則通常不加"",最近重新部署了一臺服務器,發現原來的沒問題的SQL語句,一執行就無響應了,然後服務器查看ORACLE進程的CPU佔用率就會持續高過80%,只有終止進程,否則數據庫會持續無響應。從前也碰到過類似現象,當時一直以爲跟ORACLE版本或是服務器環境或是自己查詢複雜有關。今天無意測試發現一個規律,查詢中所有as成中文列名的全部改成英文列名,問題消失,再進一步測試,原來的查詢中as的中文列名未加"",加上""後問題也不在了。但是這個查詢跟其它服務器上運行是正常的,懷疑跟字符集有關?誰知道呢,只有這個應急解決方法了。

下面貼出有問題的SQL:

SELECT BB.* FROM (SELECT MM.* FROM (select distinct A.DOCID,A.DOCNAME as 文檔名稱,D.USERCNAME as 上傳人,substr(A.UPLOADDATE,1,4)||'年'||substr(A.UPLOADDATE,5,2)||'月'||substr(A.UPLOADDATE,7,2)||'日' as 上傳日期, A.PROJECTID,A.ACTIONID,A.DOCTYPE  from (SELECT BBB. * FROM ADMRS01 BBB  WHERE BBB.MODEDOCID IS NULL OR BBB.MODEDOCID ='')  A,AGINT006 C,ASREG005 D WHERE   C.NORMATIVEVAL=A.DOCTYPE AND D.USERID=A.UPLOADMANID AND A.ISAUDITING!=2 AND A.DOCID NOT IN (SELECT DOCID FROM ADMRS01_1) ) MM LEFT JOIN  PSWFD07 F ON MM.ACTIONID=F.ACTIONID ) BB LEFT JOIN PDWFC01 E  ON BB.PROJECTID=E.PROCASEID

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章