0
CREATE VIEW View1
AS
SELECT Col1,
Col2,
dbo.fn1(col2) as Col3
FROM TestTable
/*
--Instead of writing below query I created a new View View2
SELECT Col1,
Col2,
dbo.fn1(col2) as Col3
dbo.fn2(dbo.fn1(col2)) as Col4
FROM TestTable
*/
CREATE VIEW View2
AS
SELECT Col1,
Col2,
Col3,
dbo.fn3(col3) as Col4
FROM TestTable
私は上記のようなクエリを持っています。私はfn1の出力である列を持っています。私はその出力を他の関数fn2に使いたいと思っていました。その場合、私はfn2でcol3を直接使用することはできませんので、以下のように2つの関数とビューを分割しました。私は正しい方向に向かっているのか、自分がやっていることが正しいのか、それとももっと良い方法があるのかを知りたがっていますか? View1のコメント部分で、関数fn1が2回呼び出されますか?またはSQL Serverは最適化の世話をしますか?あなたがこれを行うcoudlSQL Selectの機能