oracle数据库的基本语法与SQL一样吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库的基本语法与SQL一样吗?相关的知识,希望对你有一定的参考价值。

sql语句基本相同,各厂商有自己新加语句,相似功能不同实现方法,所以某些语句有不同。 参考技术A Oracle是关系型数据库是基于标准SQL规则的。
所以基本的SQL语句在Oracle中都是好用的。
只是Oracle自己也添加了一些自己特有的函数。比如日期与字符串转换等等。这样方便开发人员使用。
参考技术B oracle公司用的sql叫做pl/sql,是对标准sql语言的扩展.
SqlServer用的是T-Sql,也是对标准sql语言的扩展,
不必纠结,会基本的sql就可以了,具体问题具体对待.如果要写函数,存储过程之类的高级数据库编程.差异应该蛮大的.

PL/SQL简介与基本语法

PL/SQL的简介:

       PLSQL 是Oracle公司在SQL基础上进行扩展而成的一种过程语言。PLSQL提供了典型的高级语言特 性,包括封装,例外处理机制,信息隐藏,面向对象等;并把最新的编程思想带到了数据库服务器和工具 集中。 与Java, C#相比 ,PLSQL的优势是:SQL语言可以直接写到PLSQL的“块”中或者是PLSQL的过程、 函数中。没有必要向java那样先创建Statement对象来执行SQL; 这使得PLSQL成为很强大的事务处理语 言,即:使用SQL来处理数据,使用控制结构来处理业务逻辑。

技术分享

 

       

       PLSQL在Oracle 数据库服务器(在存储过程、函数、数据库触发器,Package包中使用)和Oracle开发 工具集(在 开发工具组件的触发器中使用);Form Developer,Report Developer 还可以使用共享库 (包含使用PLSQL写的过程和函数,扩展名为PLL的文件); SQL数据类型也可以在PLSQL中使用,结合 SQL提供者的直接访问,这些共享数据类型整合了PLSQL和Oracle的数据库字典。PLSQL消除了存取数据 库的便利性与过程语言之间的障碍。

      优点:

      1.支持SQLSQL是访问数据库的标准语言,通过SQL命令,用户可以操纵数据库的数据。PL/SQL支持所有的SQL数据操纵命令、游标控制命令、事务控制命令、SQL函数、运算符和伪列。同时PL/SQL和SQL语言紧密集成,PL/SQL支持所有的SQL数据类型和NULL值。

      2.支持面向对象编程,PL/SQL支持面向对象的编程,在PL/SQL中可以创建类型,可以对类型进行继承,可以在子程序中重载方法等。

      3.更好的性能,SQL是非过程语言,只能一条一条的执行,而PL/SQL把一个PL/SQL统一进行编译后执行,同时还可以把编译好的PL/SQL块存储起来,以备重用,减少了应用程序和服务器之间的通      信时间,所以PL/SQL是高效而快速的。

      4.可移植性,使用PL/SQL编写的应用程序语言,可以移植到任何操作平台的ORACLE服务器,同时还可以编写可移植程序库,在不同环境中使用。

      5.安全性,可以通过存储过程对客户机和服务器之间的应用程序逻辑进行分割,这样可以限制对ORACLE数据库的访问,数据库还可以授权和撤销其他用户的访问权利。

 

PL/SQL的基本语法:

        PL/SQL是一种块结构的语言。一个PL/SQL包含了一个或多个逻辑快,逻辑块中可以声明变量、写程序主体、还可以捕获异常和异常处理。每个逻辑快分为三个部分,语法结构如下:

  PL/SQL的语法结构

  [DECLARE

      --declaration statements]                    变量或常量声明部分。可选。

  BEGIN

      --executable statements         执行部分。BEGIN开始,END结束(加;号)。必须写。

  [EXCEPTION

      --exception statements]           异常处理部分。可选。作用于java中异常的作用和机制都一样。

  END;

  注意:

       1.PL/SQL是一种编程语言,有自己独有的数据类型,变量声明和赋值以及流程控制语句。

       2.对大小写不敏感,但是为了规范:关键字全部大写,其余部分小写。

       3.每一条语句以分号结束。

       

       PL/SQL特殊符号说明:

       技术分享

 

以上是关于oracle数据库的基本语法与SQL一样吗?的主要内容,如果未能解决你的问题,请参考以下文章

mysql和sqlserver的语句一样吗select 、delete 。。。

oracle 10g 删除用户时提示ORA-00604 :递归SQL级别 1

SQL-递归查询在Ora与Mssql

带正则表达式的参数化 SQL、ORACLE 与 SQL Server

用sqlplus登录oracle以后进行操作时提示ora-01031:权限不足,用system帐号和sys以及sysdba都一样的结果

Oracle 数据库 SQL效率问题,下面语句的结果一样吗?如果一样哪个效率更高?