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

  • 相关阅读:
    (网络流)ACM Computer Factory --POJ --3436
    (小数化分数)小数化分数2 -- HDU --1717
    (小数化分数)小数化分数2 --HDU --1717
    (网络流 模板 Dinic) Drainage Ditches --POJ --1273
    (网络流 模板 Edmonds-Karp)Drainage Ditches --POJ --1273
    (匹配)Oil Skimming -- hdu --4185
    (匹配 二维建图) Antenna Placement --POJ --3020
    (匹配)Antenna Placement --POJ --3020
    将截断字符串或二进制数据【转】
    C#中Abstract和Virtual 【转】
  • 原文地址:https://www.cnblogs.com/mingyongcheng/p/1995252.html
Copyright © 2011-2022 走看看