pg_escape_identifier
Prev | 4.3.Query Execution Commands | Next

## pg_escape_identifier

pg_escape_identifier — SQL識別子(対象の名前)として使用する為に文字列を除外扱い化する Escape a string for use as an SQL identifier (object name)

## Synopsis

    pg_escape_identifier conn string

## Description

pg_escape_identifier は､その文字列引数を､SQL識別子(表の名前､列の名前､等)として使用できる様に､ 安全に除外扱い化し､そして､引用する｡ SQL記述内で使用している sql識別子を表す､ 未知の､又は変数文字列があるとき､又は 二重引用符や空白を含むかもしれない､ tcl変数内のsql識別子名称があるときは､ この命令を使うべきである｡ `pg_escape_identifier` returns its string argument safely escaped and quoted for use as an SQL identifier (a table name, column name, etc.). Use this command when you have an unknown or variable string representing an SQL identifier that you are using in an SQL statement, or have an SQL identifier name in a Tcl variable that might contain double quotes or spaces.

## 引数 Arguments

`conn`

  接続の把持子で､識別子と一緒に使われる(註意: pgintcl ではこの引数は使われない) Handle of the connection that the identifier will be used with. (Note: This argument is not used by pgintcl.)

`string`

  除外し引用すべき文字列｡ The string to escape and quote.

## 戻り値 Return Value

識別子として適切な文字列引数､二重引用譜囲みを含む｡ The string argument, suitable for use as an identifier, including surrounding double quotes.

### 警告 Caution

識別子の周りの二重引用の使用は､PostgreSQL に識別子を大文字小文字別扱いさせる｡ Use of double quotes around an identifier makes PostgreSQL treat that identifier as case sensitive.

## 註意 Notes

pg_quote と pg_escape_string と pg_escape_literal を､参照されたい｡ See also pg_quote, pg_escape_string, and pg_escape_literal.

この命令は pgtclng-2.1.0版 と pgintcl-3.5.0版 に追加された｡ This command was added in pgtclng-2.1.0 and in pgintcl-3.5.0.

`conn` 引数は､文字揃い符号系情報を 得る為に使われ､それは､多バイト文字の外処理段階での混乱を確実に避ける為に､ 使われる｡ The `conn` argument is used to get character set encoding information, which is used to make sure that multi-byte characters do not confuse the escaping process.

### 警告 Caution

libpq-基準の対話実装とは異なり､Pgintcl は､文字揃い符号系情報を使う能力がない ので `conn` 假引数を全く使えない｡ Unlike libpq-based interface implementations, Pgintcl does not have the ability to use character set encoding information, and so it does not use the `conn` parameter at all.

この命令は PostgreSQL-9.0.0内に追加された PostgreSQL libpq 函数 PQescapeLiteral を使い模擬する｡ This command uses or emulates the PostgreSQL libpq function `PQescapeLiteral`, which was added in PostgreSQL-9.0.0.

## Example

    set sql "SELECT * FROM [pg_escape_identifier $conn $tablename] ORDER BY 1"

Prev | Up | Next
pg_quote | Home | pg_escape_literal