SQL语句、PL/SQL块和SQL*Plus命令之间的区别
原文链接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941
在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命令、以设置查询结果的显示格式,并且可以设置环境选项。
pl/sql 是oracle的一门语言,它包括标准SQL,oracle扩展SQL,oracle自定义函数,存储过程,触发器,包...
而sql*plus是运行解释pl/sql的程序,你可以在sql*plus里运行sql语句。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
打个比方
pl/sql -> C++语言
sql*plus -> Microsoft Visual C++ 6.0编译器
pl/sql 是oracle的扩展SQL后的语言,它包括标准SQL,oracle扩展SQL,oracle自定义函数,存储过程,触发器,包...
而sql*plus是运行解释pl/sql的程序,你可以在sql*plus里运行sql语句,是实现用户对数据库系统进行管理的一种工具!
SQL是一种结构化查询语言,所有的数据库查询都是这种语言。
而T-SQL即:Transact-SQL是对上述语言的一种再加工,使之更加完美,实用。
例如:oracle和sqlserver的语言就有所不一样。
SQL是一种结构化查询语言,相当于一个标准,T-SQL是其中的一种,可移植性不高。
SQL是标准,但各个厂商可能对标准加工加入自己的函数、类型等等。
比如MS 的T-SQL ORACLE的PL/SQL