FOR EACH ROW
BEGIN
UPDATE Customers
SET cust_state = Upper(cust_state)
WHERE Customers.cust_id = :OLD.cust_id
END; 约束比触发器更快:一般来说,约束的处理比触发器快,因此在可能的时候,应该尽量使用约束。
大多数的DBMS都给管理员提供了管理机制,可利用管理机制授予或限制对数据的访问。
任何安全系统的基础都是用户授权和身份确认。这是一种处理,通过这种处理对用户进行确认,以保证他是有权用户,允许他执行他试图执行的操作。有的DBMS为此目的结合使用了操作系统的安全措施,而有的维护自己的用户及密码列表,还有一些结合使用外部目录服务服务器。
需要保护的操作:
(1)对数据库管理功能的访问。
(2)对特定数据库或表的访问。
(3)访问的类型。
(4)仅通过视图或存储过程对表进行访问。
(5)创建多层次的安全措施,从而允许多种基于登录的访问和控制。
(6)限制管理用户账号的能力。
安全性通过SQL的GRANT和REVOKE语句来管理,不过,大多数DBMS提供了交互式的管理使用程序,这些使用程序在内部使用GRANT和REVOKE语句。