華式::縁の下::SQL処理設計
これは何?
SQLの実際の処理です。入力
すべてテキスト形式のSQL文です処理
- まず単語ごとに分割
- Select構文を抽出
- Select〜From間をセレクト表示句として格納
- From〜Where間をテーブル宣言句として格納
- テーブル宣言句にInner Joinがあった場合次のJoin間もしくは終点までをinnserJoin句xに格納
- テーブル宣言句にRight Outer Joinがあった場合次のJoin間もしくは終点までをRightJoin句xに格納
- テーブル宣言句にLeft Outer Joinがあった場合次のJoin間もしくは終点までをLeftJoin句xに格納
- テーブル宣言句にFull Outer Joinがあった場合次のJoin間もしくは終点までをOuterJoin句xに格納
- From〜Join間を呼び出しテーブルリストに格納
- Where〜Group By間を条件句として格納
- GroupBy〜Having間を集合条件句で格納
- Having〜Orderby間を集合結果条件句で格納
- Orderby〜
- 各Join句xの内容を処理
- もしJoin句xの内容にJoin句が含まれていたらJoin句同様に処理。
- 処理優先度を+5しておく。
- On以下を各Join句x条件句xに
- もしJoin句xの内容にJoin句が含まれていたらJoin句同様に処理。
- 入れ子複問い合わせ認識:あれば1に戻って内部を分割。
- 1-3を行う。
- 調査は。セレクト表示句、テーブル宣言句、
- 処理優先度を+10する。
- Union検出:ユニオン句として処理
- 各条件句の分割
次に実際の読み込み処理
- 優先度にしたがってファイルを読み込む
2006年06月12日(月) 00:39:44 Modified by ryunosinfx