ich etwas ähnlich die folgenden WHERE
Klausel in meiner SQL-Anweisung habe:besserer Weg, um diese SQL schreibt WHERE-Klausel
AND (ipdp.UserID!=dbo.fn_userid(ipdp.ItemID) OR dbo.fn_userid(ipdp.ItemID) IS NULL)
aber ich weiß nicht wie, wie dbo.fn_userid
Funktion läuft zweimal wird. Wie kann ich diese Codezeile so verbessern, dass sie nur einmal ausgeführt werden muss?
ipdp.UserID
ist immer ein Nicht-NULL Integer-Wert
dbo.fn_userid
kann eine NULL oder einen Integer-Wert
Prost zurück.
Sind Sie sicher, dass es zweimal läuft? Hat die Funktion Nebenwirkungen oder stellt sie nur einen Wert wiederholt auf einen anderen Wert? – Rup
Es ist in meiner WHERE-Klausel zweimal, so von meinem Wissen ist es läuft zweimal? Derselbe Parameterwert wird beide Male übergeben, daher möchte ich diese Verwendung einschränken. – Curt
In Ihrem Code oben wird die Funktion nur zweimal ausgeführt, wenn der Test in der() falsch ist. Könnten Sie etwas mehr von der Where-Klausel zeigen? –