zoukankan      html  css  js  c++  java
  • 标量函数,多语句表值函数,内嵌表值函数

    标量函数返回一个标量(单值)结果,可返回Timestamp,text,Ntext,Image,Table,Cursor
    多语句表值函数,返回一条或多条Transact-sql语句建立的表,可在select 语句的FROM子句中被引用.
    内嵌表值函数,位于RETURN子句中的SELECT命令段从数据库中摔选出来的,类似于视图但强于视图.

    标量函数,在Begin...End 之间函数体,不能包非确定性系统函数.
    Create Function [own_name.]function_name([{@参数名[as] 数据类型[=默认值]}[,...n]])
    Returns 返回数据类型 [With <函数选项>] [As] Begin 函数体 Return 返回表达式 End

    调用函数 Select Own_name.function_name[(参数值[,...n])]

    多语句表值函数
    Begin...End 限定了函数体,Returns指定Table作为返回的数据类型
    Create Function[own)name.]function_name([{@参数名[as]数据类型[=默认值]},[,...n]])
    Returns @返回变量 Table<表定义>[With<函数选项>][As] Begin 函数体 Return End

    调用函数 Select * from own_name.function_name[(参数值[,...n])][where <条件>]

    内嵌表值函数
    Returns 子句在括号中包含单个Select语句,Returns指定table作为返回的数据类型
    不必定义返回变量的格式,因为它由Return子句中的Select语句的结果集格式设置


    更改函数 :Alter Function 删除函数:Drop Function
    创 架构绑定函数
    创建时用 SchemaBinding 则数据库对象不能更改(使用Alter 或 Drop语句)
    但使用SchemaBinding必须具有对函数中引用对象的Reference权限

    mssql二进制加解密, cast(@password as binary(20)) ,cast(@EPassword as varchar(20))
    insert into AppUsers(UserName,password) values('tom',dbo.fn_EncryptPassword('00001'))
    select username,dbo.fn_DecryptPassWord(password) from AppUsers


    Create Function dbo.fn_EncryPassword(@Password varchar(20))
    returns binary(20)
    begin
         declare @EPassword binary(20)
         set @EPassword = cast(@Password as binary(20))
         return @ EPassword
    end

    Create Function dbo.fn_DecryptPassword(@EPassword binary(20))
    returns varchar(20)
    begin
         declare @Password varchar(20)
         set @Password = cast(@EPassword as varchar(20))
         return @Password
    end

    感谢:jude_liu

  • 相关阅读:
    Java随笔
    Java随笔
    Java随笔
    CF1271D Portals(反悔贪心)
    CF938D Buy a Ticket(最短路)
    CF1117C Magic Ship(二分)
    HDU6820 Tree(树形dp)
    P2393 美味(主席树+贪心)
    HDU6831 Fragrant numbers(区间dp)
    HDU6832 A Very Easy Graph Problem(生成树)
  • 原文地址:https://www.cnblogs.com/xred/p/2542909.html
Copyright © 2011-2022 走看看