全心思齐网

请问pl/sql是什么?与sql有什么关系吗?

我做了3年多的plsql开发和sql开发,这个问题很典型,我从通俗理解角度说下,以便能快速理解应用吧:

1、PL/SQL是一堆各种各样sql的集合,把他们打成一个程序包,这个程序包运行在服务器上,所以你就知道了,运行在服务器上的数据库后端程序(PL/SQL)运行效率很高。

plsql举例(通俗理解:包含了一堆逻辑的一堆sql,运行在服务器端):

if (day_count = 0) and (day_count_charge = 0) then

select seq_s_checkout_log.nextval into checkoutlog_id from dual;

insert into T_S_CHECKOUT_LOG

values(checkoutlog_id,

substr(to_char(systimestamp(6),'yyyymmddHH24missff6'),0,18),

0,0,1);

select seq_s_checkout_log.nextval into checkoutlog_id from dual;

insert into T_S_CHECKOUT_LOG

values(checkoutlog_id,

substr(to_char(systimestamp(6),'yyyymmddHH24missff6'),0,18),

0,0,2);

end if;

2、sql相对plsql功能单一,比如只执行查询,就执行更新等等。而plsql是一个程序块,里面包含了逻辑判断,比如:如果满足什么条件就执行查询操作,把查询结果赋予一个变量,当变量值达到100后将日志计入日志表等等。

sql举例(通俗理解:只执行插入或者更新,需要传输到服务器端后才能运行):

select max(nextval) from dual;

以上是从通俗案例方面的解释,方便快速理解,感兴趣加关注哦,有很多案例代码可送。也欢迎吐槽拍砖。以下是一个plsql实际案例的业务流程图:

匿名回答于2024-05-24 02:56:39


相关知识问答