56

クエリで何:を表しますか?

INSERT INTO MyTable (ID) VALUES (:myId)

どのように目的の値を取得しますか?

編集:また、その記号は何と呼ばれていますか? グーグルで検索したいのですが、名前は:何ですか?

4

8 に答える 8

68

クエリの「:」は何を表していますか?

バインド変数。バインド変数を使用すると、単一の SQL ステートメント (クエリまたは DML のいずれか) を何度も再利用できるため、セキュリティ (SQL インジェクション攻撃を禁止することによって) とパフォーマンス (必要な解析の量を減らすことによって) が向上します。

どのように目的の値を取得しますか?

クエリ (または DML) が Oracle によって実行される前に、プログラムによってカーソルが作成されます。プログラムは、そのカーソルに対して解析する SQL を発行し、SQL によって参照される各バインド変数の値をバインドする必要があります。これがどのように行われるかは、言語によって異なります。

そのサインは何と呼ばれていますか?

コロン。

于 2010-02-02T03:08:30.243 に答える
51

これは、Oracle ではバインド変数と呼ばれます。

「:」の名前は何ですか?

結腸。

于 2010-02-01T16:11:43.763 に答える
11

コロン:は、HQL Hibernate クエリ言語で使用され、関連するパラメーターがあることを示します。

それが意味することは次のとおりです。 SQL SYNTAX:

SELECT * FROM EMPLOYEE WHERE EMP_ID = empID

HQL SYNTAX と同じです:

SELECT * FROM EMPLOYEE WHERE EMP_ID = :empID

empIDパラメータのローカル変数であること...

お役に立てれば。

于 2011-05-25T19:18:29.737 に答える
7

これは名前付きクエリパラメータのタグであり、クエリの実際の構文の一部ではありません。タグは、実際に実行される前にクエリを実行するコードで指定された値に置き換えられます。

于 2010-02-01T15:57:16.500 に答える
5

これは名前付きパラメーターです。

C#では、パラメーターの前に@を付けます(ここを参照)。

于 2010-02-01T15:57:11.287 に答える
1

これは、Delphi クエリのパラメータ構文でもあります

于 2010-02-01T16:49:19.470 に答える