
SQL 语句、PL/SQL 块和 SQL*Plus 命令之间的区别
在 SQL*Plus 中可以处理三种类型的命令:SQL 语句、PL/SQL 块和 SQL*Plus 命令,但三者之间是有区别的。
1)SQL 语句是以数据库为操作对象的语言,主要包括数据定义语言 DDL、数据操纵语言 DML 和数据控制语言 DCL 以及数据存储语言
DSL。当输入 SQL 语句后,SQL*Plus 将其保存在内部缓冲区中。
当 SQL 命令输入完毕时,有三种方法可以结束 SQL 命令:在命令行的末尾输入分号(;)并按回车;在单独一行上用斜杠(/);
或用空行表示。
2)PL/SQL 块同样是以数据库中的数据为操作对象。但由于 SQL 不具备过程控制功能,所以,为了能够与其他语言一样具备面向过程
的处理功能,在 SQL 中加入了诸如循环、选择等面向过程的处理功能,由此形成了 PL/SQL。所有 PL/SQL 语句的解释均由 PL/SQL 引
擎来完成。使用 PL/SQL 块可编写过程、触发器和包等数据库永久对象。
3)SQL*Plus 命令主要用来格式化查询结果、设置选择、编辑及存储 SQL 命令、以设置查询结果的显示格式,并且可以设置环境选项。
eg:accept 、 prompt
pl/sql 是 oracle 的一门语言,它包括标准 SQL,oracle 扩展 SQL,oracle 自定义函数,存储过程,触发器,包...
而 sql*plus 是运行解释 pl/sql 的程序,你可以在 sql*plus 里运行 sql 语句。
-----------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------
打个比方
pl/sql -> C++语言
sql*plus -> Microsoft Visual C++ 6.0 编译器
评论