存储过程,存储函数和触发器的区别:
相同点: 存储过程和函数目的是为了 可重复地 执行操作数据库的sql语句的集合。
区别:
存储过程和存储函数:区别是写法和调用上。
写法上:
存储过程的参数列表可以有输入参数、输出参数、可输入输出的参数;
函数的参数列表只有输入参数,并且有return <返回值类型,无长度说明>。
调用方式上:
存储过程的调用方式有:
1)、exec <过程名>;
2)、execute <过程名>;
3)、在PL/SQL语句块中直接调用,也就是begin end;
4). call <过程名>;
函数的调用方式有:
1、在PL/SQL语句块中直接调用.也就是begin end;
BEGIN
dbms_output.put_line(add_three_numbers(2,4,5));
END;
2、sql语句中调用:
SELECT add_three_numbers(3, b=>4,c=>2) FROM DUAL;
存储过程和触发器的其他区别:
触发器与存储过程的主要区别在于调用和执行的方式:
存储过程通过用户调用实现.
触发器通过事件触发,比如当UPDATE发生时使用一个更新触发器,当INSERT发生时使用一个插入触发器,当DELETE发生时使用一个删除触发器。
使用触发器的注意事项:
- 触发器不接受参数&