1つのSELECT文実行の為に、一時的なView的なものを生成できる。
■使用方法
WITH AAA AS ( --仮に、別名AAAとする
SELECT col1 FROM TABLEA --任意のselect文を記述
)
select * FROM AAA --WITH句の内容を利用してselect分記述
■複数回WITH句の連続使用
WITH AAA AS ( --別名AAAとする
SELECT 123 AS col1 --任意のselect文を記述(列名必須)
), --カンマで区切る
BBB AS (
SELECT col1 + 111 AS col2 FROM AAA
)
SELECT * FROM BBB --結果:234
■注意事項
・begin endで囲むのが無難
メッセージ 156、レベル 15、状態 1、プロシージャ xxxx、行 80
キーワード 'AS' 付近に不適切な構文があります。
⇒こんなのが出るときは、WITH句とWITH句を使うselect文は同一BEGIN ENDにいれるのが無難(根本原因不明)?
・WITH句の後の1select文にしか使えない
例)
begin
With aaa as ( select COL1 from TABLEA)
select * from aaa ⇒正しく動く
select * from aaa ⇒エラー
end