十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
学习SQL数据库,函数和存储过程都是非常重要的,下面就将为您示例SQL函数和存储过程模板,供您参考,希望对您学习SQL函数和存储过程能有所启迪。

--标量值函数
-- ================================================
 -- Template generated from Template Explorer using:
 -- Create Scalar Function (New Menu).SQL
 --
 -- Use the Specify Values for Template Parameters 
 -- command (Ctrl-Shift-M) to fill in the parameter 
 -- values below.
 --
 -- This block of comments will not be included in
 -- the definition of the function.
 -- ================================================
 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 -- =============================================
 -- Author:   
 -- Create date: 
 -- Description: 
 -- =============================================
 CREATE FUNCTION 
 (
 -- Add the parameters for the function here
 <@Param1, sysname, @p1> 
 )
 RETURNS 
 AS
 BEGIN#p#
 -- Declare the return variable here
 DECLARE <@ResultVar, sysname, @Result> 
-- Add the T-SQL statements to compute the return value here
 SELECT <@ResultVar, sysname, @Result> = <@Param1, sysname, @p1>
-- Return the result of the function
 RETURN <@ResultVar, sysname, @Result>
END
 GO
--////////////////////////////////////////////////////////////////////////////////////////////////////////////
--内联表值函数
-- ================================================
 -- Template generated from Template Explorer using:
 -- Create Inline Function (New Menu).SQL
 --
 -- Use the Specify Values for Template Parameters 
 -- command (Ctrl-Shift-M) to fill in the parameter 
 -- values below.
 --
 -- This block of comments will not be included in
 -- the definition of the function.
 -- ================================================
 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 -- =============================================
 -- Author:   
 -- Create date: 
 -- Description: 
 -- =============================================
 CREATE FUNCTION 
 ( 
 -- Add the parameters for the function here
 <@param1, sysname, @p1> 
 <@param2, sysname, @p2> 
 )
 RETURNS TABLE #p#
 AS
 RETURN 
 (
 -- Add the SELECT statement with parameter references here
 SELECT 0
 )
 GO
--//////////////////////////////////////////////////////////////////////////////////////////////////////////////
--多语句表值函数
-- ================================================
 -- Template generated from Template Explorer using:
 -- Create Multi-Statement Function (New Menu).SQL
 --
 -- Use the Specify Values for Template Parameters 
 -- command (Ctrl-Shift-M) to fill in the parameter 
 -- values below.
 --
 -- This block of comments will not be included in
 -- the definition of the function.
 -- ================================================
 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 -- =============================================
 -- Author:   
 -- Create date: 
 -- Description: 
 -- =============================================
 CREATE FUNCTION 
 (
 -- Add the parameters for the function here
 <@param1, sysname, @p1> 
 <@param2, sysname, @p2> 
 )
 RETURNS #p#
 <@Table_Variable_Name, sysname, @Table_Var> TABLE 
 (
 -- Add the column definitions for the TABLE variable here
 
 
 )
 AS
 BEGIN
 -- Fill the table variable with the rows for your result set
RETURN 
 END
 GO
--//////////////////////////////////////////////////////////////////////////////////////////////////////////////
--多语句表值函数
DECLARE @MergeDate Datetime 
 DECLARE @MasterId Int 
 DECLARE @DuplicateId Int
SELECT @MergeDate = GetDate()
DECLARE merge_cursor CURSOR FAST_FORWARD FOR SELECT MasterCustomerId, DuplicateCustomerId FROM DuplicateCustomers WHERE IsMerged = 0
OPEN merge_cursor
FETCH NEXT FROM merge_cursor INTO @MasterId, @DuplicateId
WHILE @@FETCH_STATUS = 0 
 BEGIN 
 EXEC MergeDuplicateCustomers @MasterId, @DuplicateId
UPDATE DuplicateCustomers 
 SET 
 IsMerged = 1, 
 MergeDate = @MergeDate 
 WHERE 
 MasterCustomerId = @MasterId AND 
 DuplicateCustomerId = @DuplicateId
FETCH NEXT FROM merge_cursor INTO @MasterId, @DuplicateId 
 END
CLOSE merge_cursor 
 DEALLOCATE merge_cursor