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

前端之家收集整理的这篇文章主要介绍了oracle – 如何区分SQL和PL / SQL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这个问题可能听起来太愚蠢,但我从来没有理解这一部分.

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中的数据库对象配合使用.

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

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

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

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

原文链接:https://www.f2er.com/oracle/205374.html

猜你在找的Oracle相关文章