急用,什么叫存储过程和触发器,立即给分
谢谢 问题点数:82、回复次数:4Top
1 楼LXJ2001(lxj)回复于 2001-12-23 13:15:42 得分 28
存储过程是一个函数或一个过程,由SQL语句及其扩展构成,它在数据库服务器上执行。
触发器是定义在表上的一些SQL语句,但条件满足时它就开始执行。条件就是如往一张表插入、删除、修改记录时。
所以存储过程的执行需要你的调用。触发器只要条件满足他就执行,不需要你的调用。Top
2 楼ldy(罗大佑)回复于 2001-12-23 13:29:26 得分 27
创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。Microsoft® SQL Server™ 允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。
语法
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
Top
3 楼ldy(罗大佑)回复于 2001-12-23 13:31:26 得分 27
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
可以在单个存储过程中执行一系列 SQL 语句。
可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。 Top
4 楼ldy(罗大佑)回复于 2001-12-23 13:33:51 得分 0
//更新质量指标代码时
drop trigger updQuality;
create trigger updQuality on quality_index
for update as
if update (quality_code)
update product_quality set quality_code = (select inserted.quality_code from inserted)
where product_quality.quality_code = (select deleted.quality_code from deleted);
//删除质量指标代码时
drop trigger delQuality;
create trigger delQuality on quality_index
for delete as
delete from product_quality where quality_code = (select deleted.quality_code from deleted);
//插入质量指标代码时
drop trigger insQuality;
create trigger insQuality on quality_index
for insert as
insert into product_quality
select product_code,(select inserted.quality_code from inserted),0 from product;Top




