執行臨時分析的應用程式也常允許使用者直接輸入 SQL 語句。 例如:
SQLCHAR * Statement, SqlState[6], Msg[SQL_MAX_MESSAGE_LENGTH];
SQLSMALLINT i, MsgLen;
SQLINTEGER NativeError;
SQLRETURN rc1, rc2;
// Prompt user for SQL statement.
GetSQLStatement(Statement);
// Execute the statement directly. Because it will be executed only once,
// do not prepare it.
rc1 = SQLExecDirect(hstmt, Statement, SQL_NTS);
// Process any errors or returned information.
if ((rc1 == SQL_ERROR) || rc1 == SQL_SUCCESS_WITH_INFO) {
i = 1;
while ((rc2 = SQLGetDiagRec(SQL_HANDLE_STMT, hstmt, i, SqlState, &NativeError,
Msg, sizeof(Msg), &MsgLen)) != SQL_NO_DATA) {
DisplayError(SqlState, NativeError, Msg, MsgLen);
i++;
}
}
此方法簡化了應用程式編碼;應用程式依賴使用者建立 SQL 陳述式,並依賴資料來源來檢查陳述句的有效性。 由於要撰寫一個能充分展現 SQL 複雜性的圖形使用者介面很困難,直接請使用者輸入 SQL 陳述句文字可能是較佳的替代方案。 然而,這不僅需要使用者了解 SQL,還要了解被查詢資料來源的結構。 有些應用程式提供圖形使用者介面,讓使用者可以建立基本的 SQL 陳述式,也提供文字介面讓使用者修改它。