Oracle
ODBC SQL 跟踪文件問號
我有一個 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 是如何獲取參數值的?
這稱為參數化語句。在基本級別,這樣的查詢分兩個階段執行:首先在伺服器端編譯帶有參數標記(那些問號)的查詢,然後將實際參數值綁定到查詢並執行查詢,只返回符合條件的結果(顯然)。