存储过程实际上就是一种命名的PL/SQL程序块。
创建存储过程
创建存储过程需要使用procedure关键字。
创建存储过程不需要使用DECLARE关键字,转而使用CREATE/REPLACE关键字。
1 | create or replace procedure pro_insertDept |
在sql*plus环境,使用EXECUTE命令执行pro_insertDept存储过程:
1 | execute pro_insertDept; |
在PL/SQL代码块中调用存储过程pro_insertDept:
1 | begin |
存储过程的模式参数
存储过程的参数模式包括in out和in out等3种。
in模式参数
1 | create or replace prodecure pro_insertDept( |
需要注意的是:参数的类型不能指定长度。
①按指定名称传递
1 | begin |
②按位置传递
1 | begin |
用户提供的参数值顺序必须与存储过程定义的参数顺序相同。
ps:可以使用DESC命令来查看存储过程中的参数信息。
③混合方式传递
1 | begin |
注意:在某个位置使用了“按指定名称传递”的方式传入参数值后,其后面的参数值也要使用“按指定名称传递”,因为“按指定名称传递”或许已经破坏了参数原始的定义顺序。
in参数的默认值
1 | create or replace procedure pro_insertDept( |
调用存储过程pro_insertDept,只向该存储过程传入两个参数值。
1 | declare |