zoukankan      html  css  js  c++  java
  • Create function

    -- =============================================
    -- 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

  • 相关阅读:
    Lesson 43-44 Vacation Season is Approaching?
    Lesson 41-42 How would you respond?
    Lesson 37-38 Do you want to be a millionaire?
    Lesson 35-36 What did you forget?
    Lesson 33-34 Dieting
    保送
    陈老师搬书
    水题(原 USACO Mother's Milk)
    最大公约数和最小公倍数问题(luogu 1029)
    最大子矩阵(OJ 1768)
  • 原文地址:https://www.cnblogs.com/mingyongcheng/p/1995252.html
Copyright © 2011-2022 走看看