コードがどのように機能するかについて詳細を提供していないので、「パラメーター化されたクエリ」とはストアドプロシージャを意味し、ストアドプロシージャをテキスト全体で呼び出すというワイルドな推測を行います(最善ではありません練習しますが、使用しているソフトウェアの制限が何であるかはわかりません)。
とにかく、理由pad
またはproc
問題を引き起こす可能性があるのは、これらが文字列であることをサーバーに明示的に伝えていないためです。私が真に理解したことがない理由により、TSQL では、1 単語の文字列をプロシージャの (n)varchar パラメータに渡すことができます。簡単な例は次のとおりです。
EXEC sp_helpdb master
厳密に言えば、これは構文エラーになるはずです。正しい構文は次のとおりです。
EXEC sp_helpdb 'master'
しかし、開発者は「タイピングが減り、生産性が向上します!」と考えたようです。したがって、クエリは機能します。
プロシージャが次のように呼び出された場合:
EXEC p_find_recipe thai
これにより文字列「thai」が渡され、すべてが期待どおりに実行されます。proc
ただし、 orfile
やetc... などの予約語を使用するtable
と構文エラーが発生するため、値を引用符で囲んで機能させる必要があります。
つまり、構文エラーはすぐに返され、10秒もかからないはずです-私の知る限り、「パッド」は予約キーワードではありません
したがって、上記があなたの問題に当てはまるかどうかはわかりません。したがって、何も入力せずに10分間入力しただけである可能性は十分にあります=)
SELECT * FROM table WHERE field = ?
とにかく、おそらく、使用している言語、パラメーター化されたクエリの意味(後で?が埋められる構文を意味するのでしょうか?)、できればサンプルコードを使用して、追加の入力を行う必要があります。