加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 如何区分SQL和PL / SQL?

发布时间:2020-12-12 13:03:52 所属栏目:百科 来源:网络整理
导读:我知道这个问题可能听起来太愚蠢,但我从来没有理解这一部分. SQL*Plus works with both SQL and PL/SQL. How do I know whether some code is SQL or PL/SQL? If my code has a for loop,is it not SQL anymore? PL/SQL is an extension for SQL to have loo
我知道这个问题可能听起来太愚蠢,但我从来没有理解这一部分.

SQL*Plus works with both SQL and
PL/SQL. How do I know whether some
code is SQL or PL/SQL? If my code has
a for loop,is it not SQL anymore?

PL/SQL is an extension for SQL to have
loops,conditionals etc. Then any SQL
code is by default PL/SQL code? Isn’t
it so?

SQL和PL / SQL之间是否存在分界线?

区分b / w SQL和PL / SQL的两个例子触发了这个问题:

What is the difference between these two create table statements?

https://stackoverflow.com/questions/2267386/oracle-11g-varray-of-objects/2267813#2267813

这是一个有趣的问题,当然.大多数熟悉Oracle开发的人都不会考虑它,但是当你谈到它时,有时会混淆定义SQL和PL / SQL之间的界限.

通过查看首字母缩略词的定义,您可以了解每个功能的涵盖范围:

SQL – 结构化查询语言

PL / SQL – 程序语言/结构化查询语言

敏锐的读者可能会注意到SQL如何出现两次8)这是因为SQL经常嵌入在PL / SQL中 – PL / SQL是一种语言,它提供了一个专有的4th generation language (4GL),可以很好地与Oracle中的数据库对象配合使用.

维基百科在SQL和PL/SQL都有一些非常好的材料

令人困惑的部分是PL / SQL和SQL重叠的地方. SQL的权限包括数据插入,查询,更新和删除,所谓的DML或数据操作语言操作,但它还包括创建,更改,重命名,删除,它们是DDL或数据定义语言操作.在这里有些人可能会感到困惑.创建存储过程的操作(使用PL / SQL编写的操作)实际上是SQL – 您使用SQL创建表示PL / SQL块的数据库对象.

同样,您可以在PL / SQL中嵌入SQL代码.例如,PL / SQL中的FOR循环可以基于SQL查询.吹了一下你的想法,嗯?您可以使用SQL创建一个过程,该过程实际上在内部使用SQL对数据库中的记录执行某些操作.

如果你问我,很酷的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读