For Development HEAD DRAFTSearch (procedure/syntax/module):

12.79 text.sql - SQLのパーズと構築

Module: text.sql

このモジュールはSQL文のパーズと構築のためのユーティリティを提供します。

このモジュールは現在まだ開発途上にあります。まだトークン列を生成するルー チンしかありません。SQLのS式構文を定義して、SQLとその構文との間の変換 ルーチンを提供する計画です。

註: SQLに安全に渡せるように文字列をエスケープするルーチンをお探しなら、 DBIのユーザAPIdbi-escape-sqlを見てください。

Function: sql-tokenize sql-string

{text.sql} SQL文sql-stringをトークン列に分解します。返り値はトークンのリス トで、各トークンは以下の形式のひとつで表現されます。

<symbol>              特殊区切り子、以下のどれか
                      + - * / < = > <> <= >= ||
<character>           特殊区切り子、以下のどれか
                      #\, #\. #\( #\) #\;
<string>              通常の識別子
(delimited <string>)  区切られた識別子
(parameter <num>)     位置パラメータ (?)
(parameter <string>)  名前つきパラメータ (:foo)
(string    <string>)  文字列リテラル
(number    <string>)  数値リテラル
(bitstring <string>)  バイナリ文字列  <string> は "01101" な感じ
(hexstring <string>)  Binary string.  <string> は "3AD20" な感じ

トークンに分解できない文字列がくると<sql-parse-error>コンディショ ンがあがります。

Condition Type: <sql-parse-error>

{text.sql} SQLパーズエラーを示すコンディション。<error>を継承。

Instance Variable of <sql-parse-error>: sql-string

元のSQL文字列を保持。



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT