明永成

导航

 

-- =============================================
-- Create inline function (IF)
-- =============================================
IF EXISTS (SELECT *
       FROM   sysobjects
       WHERE  name = N'<inline_function_name, sysname, test_function>')
    DROP FUNCTION <inline_function_name, sysname, test_function>
GO

CREATE FUNCTION <inline_function_name, sysname, test_function>
    (<@param1, sysname, @p1> <data_type_for_param1, , int>,
     <@param2, sysname, @p2> <data_type_for_param2, , char>)
RETURNS TABLE
AS
    RETURN SELECT   @p1 AS c1,
            @p2 AS c2
GO

-- =============================================
-- Example to execute function
-- =============================================
SELECT *
FROM <owner, , dbo>.<inline_function_name, sysname, test_function>
    (<value_for_@param1, , 1>,
     <value_for_@param2, , 'a'>)
GO

-- =============================================
-- Create scalar function (FN)
-- =============================================
IF EXISTS (SELECT *
       FROM   sysobjects
       WHERE  name = N'<scalar_function_name, sysname, test_function>')
    DROP FUNCTION <scalar_function_name, sysname, test_function>
GO

CREATE FUNCTION <scalar_function_name, sysname, test_function>
    (<@param1, sysname, @p1> <data_type_for_param1, , int>,
     <@param2, sysname, @p2> <data_type_for_param2, , int>)
RETURNS <function_data_type, ,int>
AS
BEGIN
    <function_body, , RETURN @p1 + @p2 >
--    eg.
--    DECLARE @sum AS int
--    SELECT @sum = @p1 + @P2
--    RETURN @sum
END
GO

-- =============================================
-- Example to execute function
-- =============================================
SELECT <owner, , dbo>.<scalar_function_name, sysname, test_function>
    (<value_for_@param1, , 1>,
     <value_for_@param2, , 2>)
GO

-- =============================================
-- Create table function (TF)
-- =============================================
IF EXISTS (SELECT *
       FROM   sysobjects
       WHERE  name = N'<table_function_name, sysname, test_function>')
    DROP FUNCTION <table_function_name, sysname, test_function>
GO

CREATE FUNCTION <table_function_name, sysname, test_function>
    (<@param1, sysname, @p1> <data_type_for_param1, , int>,
     <@param2, sysname, @p2> <data_type_for_param2, , char>)
RETURNS <@table_variable_name, sysname, @table_var> TABLE
    (<column_1, sysname, c1> <data_type_for_column1, , int>,
     <column_2, sysname, c2> <data_type_for_column2, , int>)
AS
BEGIN
    INSERT <@table_variable_name, sysname, @table_var>
    SELECT 1, 2
    RETURN
END
GO

-- =============================================
-- Example to execute function
-- =============================================
SELECT * FROM <owner, , dbo>.<table_function_name, sysname, test_function>
    (<value_for_@param1, , 1>,
     <value_for_@param2, , 2>)
GO

posted on 2011-03-25 12:04  明永成  阅读(1293)  评论(0编辑  收藏  举报