示例#1
0
        internal static void IncludeFunction(SchemaAssets assets)
        {
            assets.IncludeUserDefinedFunction("MinimumTableValued", @"(@Param1 Integer, @Param2 Integer)
RETURNS Table As
RETURN (SELECT Case When @Param1 < @Param2 Then @Param1 
               Else COALESCE(@Param2, @Param1) End MinValue)");


            assets.IncludeUserDefinedFunction("MinimumScalar", @"(@Param1 Integer, @Param2 Integer)
RETURNS Integer
AS
BEGIN
   RETURN (Case When @Param1 < @Param2 Then @Param1 
           Else COALESCE(@Param2, @Param1) End);
END");
        }
示例#2
0
    internal static void IncludeFunction(SchemaAssets assets)
    {
        if (Schema.Current.Settings.IsPostgres)
        {
            assets.IncludeUserDefinedFunction("MinimumTableValued", @"(p1 integer, p2 integer)
RETURNS TABLE(""MinValue"" integer)
AS $$
BEGIN
RETURN QUERY 
SELECT Case When p1 < p2 Then p1
       Else COALESCE(p2, p1) End as MinValue;
            END
$$ LANGUAGE plpgsql;");

            assets.IncludeUserDefinedFunction("MinimumScalar", @"(p1 integer, p2 integer)
RETURNS integer
AS $$
BEGIN
RETURN (Case When p1 < p2 Then p1
       Else COALESCE(p2, p1) End);
END
$$ LANGUAGE plpgsql;");
        }
        else
        {
            assets.IncludeUserDefinedFunction("MinimumTableValued", @"(@Param1 Integer, @Param2 Integer)
RETURNS Table As
RETURN (SELECT Case When @Param1 < @Param2 Then @Param1
           Else COALESCE(@Param2, @Param1) End MinValue)");

            assets.IncludeUserDefinedFunction("MinimumScalar", @"(@Param1 Integer, @Param2 Integer)
RETURNS Integer
AS
BEGIN
   RETURN (Case When @Param1 < @Param2 Then @Param1
       Else COALESCE(@Param2, @Param1) End);
END");
        }
    }