SQL 標量值函式的呼叫
阿新 • • 發佈:2018-12-20
呼叫 MS SQL 標量值函式,應該在函式前面加上 "dbo.",否則會報 “不是可以識別的 內建函式名稱”錯誤。例如
DECLARE @WhichDB TINYINT; SELECT @WhichDB = dbo.user_GetWhichDB(1);--看看是哪個資料庫的
另外,標量值函式就相當於一個變數,而不是一個表,所以這樣寫是錯誤的:
SELECT * FROM dbo.user_GetWhichDB(1);
應該這樣寫:
SELECT dbo.user_GetWhichDB(1);
加上別名:
SELECT dbo.user_GetWhichDB(1) AS FieldName;
=================================================
--標量值函式
ALTER FUNCTION [dbo].[user_GetWhichDB]( @UserId INT = 0)RETURNS TINYINTWITH EXECUTE AS CALLERASBEGIN DECLARE @WhichDB TINYINT; SET @WhichDB = 1; IF @UserId >= 115098 SET @WhichDB = 2; RETURN (@WhichDB);END