视图是虚拟的表。
与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
视图仅仅是用来查看存储在别处数据的一种设施。
嵌套视图可能会严重降低查询的性能
DORP VIEW name
简化复杂联结
-> CREATE VIEW ProductCustomers AS
-> SELECT cust_name,cust_contact,prod_id
-> FROM Customers,Orders,OrderItems
-> WHERE Customers.cust_id = Orders.cust_id
-> AND OrderItems.order_num = Orders.order_num;
重新格式化检索出的数据
-> CREATE VIEW VendorLocations AS
-> SELECT RTRIM(vend_name)||’(‘||RTRIM(vend_country)||’)’
-> AS vend_title
-> FROM Vendors;
过滤不想要的数据
-> CREATE VIEW CustomerEMailList AS
-> SELECT cust_id,cust_name,cust_email
-> FROM Customers
-> WHERE cust_email IS NOT NULL;
使用视图与计算字段
-> CREATE VIEW OrderItemsExpanded AS
-> SELECT order_num,prod_id,quantity,item_price,quantity*item_price
-> AS expanded_price
-> FROM OrderItems;
正确使用,视图可极大地简化复杂数据的处理。
======================================================
存储过程有三个主要的好处,即简单、安全、高性能。
执行:EXECUTE
创建:CREATE PROCEDURE
=====================================================
使用事务处理,通过确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性。
事务处理用来管理INSERT、UPDATE、DELETE语句。
不能回退SELECT、CREATE、DROP。
=========================
BEGIN TRANSACTION
…
COMMIT TRANSACTION
START TRANSACTION
…
SET TRANSACTION
…
=========================
ROLLBACK
COMMIT
=========================
SAVEPOINT delete1;
ROLLBACK TO delete1;
SAVE TRANSACTION delete1;
ROLLBACK TRANSACTION delete1;