2014-02-11 46 views
0

我一直負責編寫一個簡單的PHP + Oracle網絡reprting的工具,我碰巧偶然一個相當複雜的查詢,完美的作品要在SQL Developer:如何處理從雙分號中選擇的分號;

SELECT 'LASTNAME, FIRSTNAME, STATUS' from dual; 

with user as 

(
... 
.. 
.. 
.. 

(very long query) 

,然後它給了我這樣的:

PHP Warning: oci_execute(): ORA-00911: invalid character 

根據我最初的調查,它看起來像PHP抱怨';'第一行(地方說,從選擇...雙;)後

在PHP端,它看起來像這樣:

$stid = oci_parse($conn, $query); 
oci_execute($stid); 

其中$查詢是很長的查詢:

$query = "SELECT 'LASTNAME, FIRSTNAME, STATUS' from dual; 

with user as 

(
... 
.. 
.. 
.. 

我想知道是否有方法來重寫整個查詢而不使用'dual'部分?

+0

請學習轉義'''http://stackoverflow.com/questions/6269188/how-to-escape-only-single-quotes – SQLMason

+0

@DanAndrews - 我更新了我的問題,應該是$ query =「SELECT –

+2

'dual;'是你的表名???或者你試圖運行兩個查詢? –

回答

0

雙表是假表與單排,單柱,唯一數據是X.

你可以創建你自己的DUAL表,它只是一個虛表。可能是你想要重複兩次結果並創建一個雙行表格,其中有兩行。內容並不重要。

+0

顯然,第一行說 'select ... from dual ;' 是什麼打破它進一步的研究(內部和通過谷歌)導致我的結論是,我可能不需要這條線,並可能只是自己重寫標頭 有助於我發現/學習的鏈接關於WITH CL ause:http://www.oracle-base.com/articles/misc/with-clause.php –