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' 语句有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL Developer自动补全SQL语句

如何存储 select 语句的结果并能够在另一个 select 语句中再次使用它 PL\SQL Oracle

SQL 'select' 和 PL/SQL 'select' 语句有啥区别?

SQL 查询的 SELECT 子句中 Oracle PL/SQL 语句的延迟评估

如何在 PL/SQL 中使用 select 语句为 SQL*Plus 变量赋值?

Oracle - PL/SQL - 使用 SELECT 作为 VALUES 插入所有