最近在学习数据库,上课过程中总是在许多知识点有或多或少的问题,对于这些问题的产生,大概是由于我听课习惯所造成的吧,好啦,废话不多说,开始今天到主题吧。
首先介绍SQL的存储过程,先来给它定义,存储过程是由过程化SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,因此称它为存储过程,使用是只需要调用即可
优点:
1、运行效率高,因为它不像解释执行的SQL语句那样在提出操作请求的时候,才开始进行语法分析和优化工作。它提供了在服务器端快速执行SQL语句的有效途径。
2、存储过程降低了客户机和服务器之间的通信量。如果用到高级语言(phppython) ,应该也是可以的降低通信量的。
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。