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
Ich habe eine Abfrage wie oben. Ich habe Spalte, die eine Ausgabe von Fn1 ist. Ich wollte diesen Ausgang zu anderer Funktion fn2 verwenden. In diesem Fall kann ich nicht die Col3 direkt in Fn2 verwenden, also habe ich zwei Funktionen aufgeteilt und siehe unten. Ich wollte wissen, ob ich mich in die richtige Richtung bewege, ist es richtig, was ich tue oder gibt es einen besseren Weg? Im kommentierten Teil von View1 wird die Funktion fn1 zweimal aufgerufen? oder SQL Server kümmert sich um die Optimierung?Funktion in SQL Select-Anweisung