本文介紹了在Oracle查詢中將FMTONLY設置為ON的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我想知道SET FMTONLY ON
是否可以在Oracle查詢中使用。當我這樣使用時:
SET FMTONLY ON select * from department
我收到一條消息:
第1行:跳過SQLPLUS命令:SELECT*FROM部門時設置FMTONLY
我正在尋找Oracle中的一條語句
這只向客戶端返回元數據以測試響應的格式,而不實際運行查詢。
編輯
謝謝…我想為所有類型的查詢通用的,如果查詢包含任何‘排序依據’,那么我們不能添加這一點。如果它是INSERT查詢,它應該只驗證查詢,現在我正在進行回滾,以便只驗證查詢(然后在運行時執行它)SET FMTONLY幫助我在SQL中實現它,類似于Oracle?
和”創建表格格式測試為(SELECT…),然后執行描述格式測試。”我沒有收到這個:(
感謝任何幫助。
推薦答案
根據this,設置FMTONLY:
僅向客戶端返回元數據。
可用于測試
響應,而不實際運行
查詢。不會處理任何行或將其發送到
客戶端,因為在設置時請求
FMTONLY已打開。
因此,我猜測結果可能是(A)語句成功,但沒有發生任何事情;或(B)語句失敗,引發異常。
因此,您可以通過運行EXPLAIN PLAN FOR xxx
在Oracle中達到類似的效果,例如:
SQL> EXPLAIN PLAN FOR insert into baddml values (1);
explain plan for INSERT INTO baddml VALUES (1)
*
ERROR at line 1:
ORA-00942: table or view does not exist
如果語句成功,則可以假定該語句在語法上有效。
這篇關于在Oracle查詢中將FMTONLY設置為ON的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,