zoukankan      html  css  js  c++  java
  • sql 自定义函数

    我们所说的自定义函数,和数据库中叫“用户自定义函数”是一样的,

    自定义函数分为二种,一种是标量值函数,另一种是表格值函数

    1 标量值函数 :返回一个标量值

    语法:

    Create function 函数名(参数)

    Returns 返回值数据类型

    as

    begin

    SQL语句(必须有return 变量或值)

    End

    如示例:

    CREATE  FUNCTION MySTR(@strs VARCHAR(50))
    RETURNS VARCHAR(50)
    AS
    BEGIN
     DECLARE @str2 VARCHAR(30)
     SET @str2=@strs
     RETURN @str2
    END
     --执行函数
    SELECT dbo.MySTR('aa') AS result

    在sql 语句也可以这样用:

    DECLARE @str3 VARCHAR(30)

     SET @str3=(select name from userinfo where huji=dbo.MySTR('邯郸') and id=23 )

    select @str3

    2 表格值函数 ,表格值函数有二种(内联表格值函数,多句表格值函数)‘

    a 内联表格值函数

    语法:

    create function 函数名(参数)

    returns table

    as

    return(一条SQL语句)

    示例:

    CREATE  FUNCTION   tabcmess(@title VARCHAR(10))

    RETURNS  TABLE 

    AS 

    return(select title,des from product where title like '%'+@title+'%')

    --执行

    SELECT * FROM tabcmess('aaa')

    b、 多句表格值函数

       create function 函数名(参数)

       returns 表格变量名table (表格变量定义)

    as

       begin

        SQL语句

       end

     示例:

    CREATE   function tabcmessalot (@title varchar(10))

    Returns @ctable table(title varchar(10) null,des varchar(100) null)

    As

    Begin

    Insert @ctable Select title,des from product WHERE title LIKE '%'+@title+'%'

    return

    End

    --执行

    SELECT * FROM tabcmessalot('aaa')

  • 相关阅读:
    面试题--基础
    面试题---flask
    vue---07 支付和订单
    企业真题
    vue --06 购物车的实现
    Three.js 开发机房(四)
    Three.js 开发机房(三)
    Three.js 开发机房(二)
    Three.js 开发机房(一)
    Three.js 前言
  • 原文地址:https://www.cnblogs.com/for917157ever/p/2507147.html
Copyright © 2011-2022 走看看