PL/SQL如何调试Oracle存储过程:https://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html
--函数适合复杂的统计和计算,最后将结果返回。存储过程适合对大量数据的更新
--优点:
--1.提高数据库执行效率。如果更新操作过于频繁,会多次对数据库进行连接,而连接数据库是非常耗时的操作,所以通过
--存储过程,一次性执行更新,从而避免了频繁连接数据库的消耗,提高了数据库执行效率。
--2.提高了安全性。存储过程在数据库中是以对象的形式存在的,可以通过权限控制。此外存储过程将在编程语言层次的数据操作
--转移到了数据库层面,只要数据库数据不遭到破坏,那么更新就是稳定的。
--3.复用性。
--DDL 数据定义语言 DATA DEFINE LANGUAGE 创改删表或者数据库或视图或索引或触发器或存储过程 CREATE/ALTER/DROP
--DML 数据操纵语言 DATE MANAGE LANGUAGE 增删查改 INSERT/DELETE/SELECT/UPDATE
--DCL 数据控制语言 DATE CONTROL LANGUAGE 权限分配与撤销 GRANT/REVOKE
--TCL 事务控制语言 TRANSACTION CONTROL LANGUAGE 回滚 ROLLBACK 提交 COMMIT 还原点 SAVEPOINT
--【存储过程中可以使用DML(insert/delete/update/select),但不能使用DDL(create/aler/drop)】
--创建存储过程:将所有学生的年龄改为10
create or replace procedure update_age
as
begin
update students set student_age=10;
commit;
end update_age;
--user_objects中存储过程的信息
select * from user_objects where object_name='UPDATE_AGE';
--user_source中存储过程的信息
select * from user_source where name='UPDATE_AGE';
--1。调用存储过程。使用execute
execute update_age;
--查看调用完存储过程后的结果
select * from students;
--结果
STUDENT_ID STUDENT_NAME STUDENT_AGE
---------- ------------ -----------
1 金瑞 10
2 钟君 10
3 王山 10
4 刘迪 10
5 钟会 10
6 张玉 10
7 柳青 10
8 胡东 10
9 商乾 10
10 周明 10
10 rows selected
--2。调用存储过程。使用pl/sql语句
declare
begin
update_age;
end;
/