SQL Tutorial - Scalar Functions

Pubblicato il: 24 maggio 2017
sul canale di: BeardedDev
7,824
96

This video will teach you how to create scalar functions in SQL Server, scalar functions only return a single value and are user-defined functions.

In this video you learn how to create scalar functions and how to use them within SQL.

CREATE FUNCTION dbo.Multiply
(
@n INT
, @m INT
)
RETURNS INT
AS
BEGIN
DECLARE @Result INT
SELECT @Result = @n * @m

RETURN @Result
END

SELECT dbo.Multiply(2, 3)

IF OBJECT_ID(N'fn_FullName', N'FN') IS NOT NULL
DROP FUNCTION fn_FullName;

GO

CREATE FUNCTION fn_FullName
(
@CustomerId INT
)
RETURNS VARCHAR(110)
AS
BEGIN

DECLARE @FullName VARCHAR(110)
SET @FullName = (SELECT REPLACE(C_First_Name + ' ' + ISNULL(C_Middle_Name, '') + ' ' + C_Last_Name, ' ', ' ') FROM dbo.Customers WHERE C_Id = @CustomerId)
RETURN @FullName

END

SELECT fn_FullName(C_Id) FROM dbo.Customers

IF OBJECT_ID(N'fn_TotalSpend', N'FN') IS NOT NULL
DROP FUNCTION fn_TotalSpend;

GO

CREATE FUNCTION dbo.fn_TotalSpend
(
@C_Id INT
)
RETURNS DECIMAL(16, 2)
AS
BEGIN

DECLARE @TotalSpend DECIMAL(16, 2)

SELECT @TotalSpend = SUM(O_Total)
FROM dbo.Customers AS A
INNER JOIN Orders AS B ON A.C_Id = B.O_C_Id
INNER JOIN Order_Details AS C ON B.O_Id = C.OD_O_Id
WHERE C_Id = @C_Id
GROUP BY C_Id

RETURN @TotalSpend

END

SELECT C_First_Name, C_Last_Name, dbo.fn_TotalSpend(C_Id) AS TotalSpend
FROM dbo.Customers
WHERE dbo.fn_TotalSpend(C_Id) IS NOT NULL


In questa pagina del sito puoi guardare il video online SQL Tutorial - Scalar Functions della durata di ore minuti seconda in buona qualità , che l'utente ha caricato BeardedDev 24 maggio 2017, condividi il link con amici e conoscenti, su youtube questo video è già stato visto 7,824 volte e gli è piaciuto 96 spettatori. Buona visione!