sql 存储过程和函数

    最近在学习数据库,上课过程中总是在许多知识点有或多或少的问题,对于这些问题的产生,大概是由于我听课习惯所造成的吧,好啦,废话不多说,开始今天到主题吧。

   首先介绍SQL的存储过程,先来给它定义,存储过程是由过程化SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,因此称它为存储过程,使用是只需要调用即可

   优点:

    1、运行效率高,因为它不像解释执行的SQL语句那样在提出操作请求的时候,才开始进行语法分析和优化工作。它提供了在服务器端快速执行SQL语句的有效途径。

    2、存储过程降低了客户机和服务器之间的通信量。如果用到高级语言(php\python) ,应该也是可以的降低通信量的。

    3、方便维护,有利于集中管理

   

   语法:

    CREAETE PROCEDURE  「  NAME  」(过程名) 

    @ARGUMENT(参数)

    AS

    <过程化SQL>

    

    存储过程的执行或者调用:

    EXEC NAEM(过程名)  ' @ARGUMENT '

    存储过程的删除:

    drop 过程名

    

  数据库编程里的函数。在这里说的函数我们也称为自定义函数,因为是用户自己使用过程化SQL设计定义的。函数和存储过程类似,都是持久性存储模块,所以定义过程也类似

  不同之处是函数必须指定返回的类型。

  

  语法:

    第一种返回的什整个table:

    CREATE FUNCTION 「NAME」(@INPUT CHAR(10))

    RETURN TABLE

    AS

    RETURN ( <过程化SQL语句> )

    

    第二种返回想要返回到数据:

    CREATE FUNCTION 「NAME」(@INPUT CHAR(10))

    RETURN @TABLENAME TABLE

      (  返回数据名    返回数据类型   )

    AS

    BEGIN

    INSERT @TABLENAME

    <过程化SQL语句>

    RETURN 

    END

    

               修改函数:ALTER FUCNTION 已存在的函数名

    函数的执行:

    SELECT 函数名 (' @INPUT ')

    删除用户自定义函数:

    drop 函数名

 

    以上是在sql server 2008的环境,别问我为什么用这个数据库,学校只有这种数据库啦,2333333。

猜你喜欢

转载自www.cnblogs.com/evenGO/p/9233298.html
今日推荐