バインド変数 【bind variables】 ユーザー定義変数 / user-defined variable / バインド機構

概要

バインド変数(bind variables)とは、プログラミング言語実行環境からデータベース管理システム(DBMS)へSQL文を発行する際、一部を動的に変更できる変数にする機能のこと。その部分に後から代入や変更をってもSQL文の再生成や解釈をし直す必要がなく、高速に実行することができる。

データベースを参照・操作するプログラムでは、実行時SQL文を生成してDMBSへ渡すことでデータベースへの問い合わせや内容の操作を依頼することができる。

このとき、SQL文の一部にプログラム中で扱う変数や入出力値などの内容を埋め込んで渡すことが頻繁に起きるが、文自体はほとんど同じなのにパラメータの一部が異なるだけで毎回異なるSQL文を生成してDBMSに解釈・実行させるのは効率が悪い。

そのような場合に、DBMSがバインド変数に対応していれば、プログラム側からDBMS側に「このSQL文のこの部分のは可変である」とあらかじめ伝えることで、その部分のみを後から内部的に変更できる状態にした実行可能コードを生成させることができる。

プログラム側からはそのSQL文実行を依頼する際にバインド変数に代入するを任意に指定することができ、SQL文自体の再発行や再解釈をうことなく、が変更された文の再実行を高速にうことができる。

この仕組みはOracle DatabaseMicrosoft SQL Serverなど有力なDBMSのいくつかが「バインド変数」という名称で提供しており、一般的な呼称として定着しているが、例えばMySQLではほぼ同じ概念を「ユーザー定義変数」と呼んでおり、処理系によって名称や機能が異なる場合がある。

(2018.10.25更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる