概念
存储过程( Stored Procedure ) 就是一条或多条 SQL 命令的集合,可类比为批处理文件、编程中的简单程序
作用
- 提高执行性能: 存储过程只是在第一次执行语法分析、编译、执行,以后都是最结果进行调用
- 减轻网络负担: 客户端只要传递给数据库必要的参数即可,无需多次传递 SQL 命令,减轻了网络负担
- 黑匣子化: 应用程序不用考虑存储过程的内部详细处理,只需调用即可,同时避免了非授权用户对数据的访问,保证了数据的安全
语法
创建存储过程
CREATE PROCEDURE 过程名([IN|OUT|INOUT]参数名: 参数类型)[存储特性]BEGIN过程体END ;
删除存储过程
DROP PROCEEDURE [IF EXIST] 过程名 ;
案例
# 创建视图CREATE OR REPLACE VIEW myviewASSELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP WHERE DEPTNO = 20WITH CHECK OPTION ;# 插入数据INSERT INTO myview (EMPNO, ENAME, JOB, DEPTNO) VALUES (9999, 'KUMA', 'CLERK', 20) ;# 插入会报错的数据,体现 WITH CHECK OPTION 作用INSERT INTO myview (EMPNO, ENAME, JOB, DEPTNO) VALUES (9999, 'KUMA', 'CLERK', 30) ;
