typora-copy-images-to: SQL 必知必会
SQL 必知必会 Chapter 19 使用存储过程
存储过程
-
复杂的操作语句
- 处理订单,核对保证库存中有相应的物品
- 有库存的话,需要预定,减少物品数据
- 库存中没有的物品需要订购,与供应商进行交互
- 关于那些物品入库、哪些物品退订,需要通知相应的顾客
-
简单来说,存储过程就是为以后使用而保存的一条或多条 SQL语句
-
不同 DBMS中的存储过程语法有所不同
-
许多数据库管理员把限制存储过程的创建作为安全措施
-
大多数 DBMS将编写存储过程所需的安全和访问权限与执行存储过
程所需的安全和访问权限区分开来
执行存储过程
EXECUTE AddNewProduct( 'JTS01',
'Stuffed Eiffel Tower',
6.49,
'Plush stuffed toy with the text La
➥Tour Eiffel in red white and blue' );
# 存储工作所完成的工作
# 验证传递的数据,保证所有 4个参数都有值
# 生成用作主键的唯一 ID
# 将新产品插入 Products 表,在合适的列中存储生成的主键和传递的数据
创建存储的过程
CREATE PROCEDURE MailingListCount (
ListCount OUT INTEGER
)
IS
v_rows INTEGER;
BEGIN
SELECT COUNT(*) INTO v_rows
FROM Customers
WHERE NOT cust_email IS NULL;
ListCount := v_rows;
END;
# 上述是ORACLE的存储过程
小结
- 介绍了什么是存储过程,为什么使用存储过程。我们介绍了执行和创建存储过程的语法,使用存储过程的一些方法。存储过程是个相当重要的主题,一课内容无法全部涉及。各种 DBMS对存储过程的实现不一,你使用的 DBMS可能提供了一些这里提到的功能,也有其他未提及的功能,更详细的介绍请参阅具体的 DBMS文档