SQL 'select' 和 PL/SQL 'select' 语句有啥区别?
Posted
技术标签:
【中文标题】SQL \'select\' 和 PL/SQL \'select\' 语句有啥区别?【英文标题】:What is difference between SQL 'select' and PL/SQL 'select' statements?SQL 'select' 和 PL/SQL 'select' 语句有什么区别? 【发布时间】:2013-06-20 08:27:25 【问题描述】:例如,如果我写:
select employee_id,last_name from employees;
我将获取“EMPLOYEES”表中存在的所有行。 如果我写:
declare
id employee_id.employees%type;
ln last_name.employees%type;
begin
select employee_id,last_name into id,ln
from employees
where employee_id = 100;
dbms_output.put_line(id||' '||ln);
end;
我明白了-
100 King
如果我想检索多行,那么我将使用 CURSOR。但是可以使用我之前提到的简单 SQL 语句来检索这些多行。那么,使用 PL/SQL Declare..Begin..End 语句有什么用呢?
【问题讨论】:
【参考方案1】:PL/SQL 用于编写需要过程逻辑的过程、函数和程序,这些过程逻辑不能方便地表示为 SQL 语句的集合。
分享和享受。
【讨论】:
【参考方案2】:说到SQL还是PL/SQL, 如果您可以在单个 SQL 语句中执行此操作 - 执行此操作,如果它无法按照您预期的方式运行,请尝试 PL/SQL,如果您的应用程序中有其他平台,请尝试。
话虽如此,
SQL(结构化查询语言)是您数据库的接口。如果要更改其状态或从中获取数据,请使用 SQL。它是一种声明性语言。
PL/SQL 是 SQL for Oracle Database 的过程扩展。它包括编程结构,例如循环和条件(if-then)。您可以使用它来管理 SQL 事务的工作流程。
基本上,您使用 PL/SQL 将 SQL 语句拼接在一起。它管理您处理 SQL 的顺序、遇到错误时该怎么办等(“业务逻辑”)。
礼貌:- ASK TOM
【讨论】:
【参考方案3】:PL/SQL 是首选。
优点:
预编译代码- 代码每次执行时都不会编译。这使得数据检索更快。
代码可重用性 - 无需每次都编写代码。
封装 - 隐藏实际的业务逻辑。
错误处理 - 允许使用预定义和自定义异常。
【讨论】:
以上是关于SQL 'select' 和 PL/SQL 'select' 语句有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
如何存储 select 语句的结果并能够在另一个 select 语句中再次使用它 PL\SQL Oracle
SQL 'select' 和 PL/SQL 'select' 语句有啥区别?
SQL 查询的 SELECT 子句中 Oracle PL/SQL 语句的延迟评估