1. 程式人生 > >SQL 標量值函式的呼叫

SQL 標量值函式的呼叫

               

呼叫 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