Oracle

ODBC SQL 跟踪文件問號

  • November 7, 2017

我有一個 MS Access 查詢,它通過 ODBC 連接連接到 Oracle Express 數據庫。

想出了一種方法來跟踪從 MS Access 發送到 ODBC 連接的 SQL。這就是 ODBC SQL 的樣子(為了便於閱讀,我對其進行了一些格式化):

SQLExecDirect: 
SELECT 
   "INSP_ID" ,
   "ROAD_ID" ,
   "INSP_DATE" ,
   "CONDITION"  
FROM 
   "USER1"."ROAD_INSP" "b" 
WHERE 
   ("INSP_DATE" = (
           SELECT MAX("a"."INSP_DATE" )  
           FROM "USER1"."ROAD_INSP" "a" 
           WHERE   (("a"."ROAD_ID" = "b"."ROAD_ID" ) 
               AND ("a"."INSP_DATE" BETWEEN  ? AND  ? ))))   <-------- Question marks

您可能已經註意到,最後一行有問號而不是值。

這是因為 MS Access 查詢通過參數提示提示使用者輸入值。

參數

但是,我不確定這些問號應該代表什麼。我知道它們起源於 MS Access 參數提示,但它們對 Oracle 意味著什麼,Oracle 是如何獲取參數值的?

這稱為參數化語句。在基本級別,這樣的查詢分兩個階段執行:首先在伺服器端編譯帶有參數標記(那些問號)的查詢,然後將實際參數值綁定到查詢並執行查詢,只返回符合條件的結果(顯然)。

引用自:https://dba.stackexchange.com/questions/189065