触发器、存储过程和函数三者有何区别 四

触发器、存储过程和函数三者有何区别 四


2024年5月8日发(作者:)

触发器、存储过程和函数三者有何区别 四

什么时候用存储过程?存储过程就是程序,它是经过语法检查和编

译的SQL语句,所以运行特别快。

触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;你所说的

函数是自定义函数吧,函数是根据输入产生输出,自定义只不过输入输出的关系由用户来

定义。在什么时候用触发器?要求系统根据某些操作自动完成相关任务,比如,根据买掉

的产品的输入数量自动扣除该产品的库存量。什么时候用存储过程?存储过程就是程序,

它是经过语法检查和编译的SQL语句,所以运行特别快。

存储过程和用户自定义函数具体的区别

先看定义:

存储过程

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得

多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个

单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声

明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、

返回单个或多个结果集以及返回值。

可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:

· 可以在单个存储过程中执行一系列 SQL 语句。

· 可以从自己的存储过程内引用其它存储过程,这

可以简化一系列复杂语句。

· 存储过程在创建时即在服务器上进行编译,所以

执行起来比单个 SQL 语句快。

用户定义函数

函数是由一个或多个 Transact-SQL 语句组成的子程序,可用于封装代码以便重新使

用。Microsoft? SQL Server? 2000 并不将用户限制在定义为 Transact-SQL 语言一部分

的内置函数上,而是允许用户创建自己的用户定义函数。

可使用 CREATE FUNCTION 语句创建、使用 ALTER FUNCTION 语句修改、以及使

用 DROP FUNCTION 语句除去用户定义函数。每个完全合法的用户定义函数名

(database__on_name) 必须唯一。

必须被授予 CREATE FUNCTION 权限才能创建、修改或除去用户定义函数。不是所

有者的用户在 Transact-SQL 语句中使用某个函数之前,必须先给此用户授予该函数的适

当权限。若要创建或更改在 CHECK 约束、DEFAULT 子句或计算列定义中引用用户定义


发布者:admin,转转请注明出处:http://www.yc00.com/news/1715183092a2578760.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信