HSQLDB 支持的 SQL 标准

原创 2011年01月12日 16:27:00

HyperSQL 2.0 支持 SQL 标准92,1999,2003 中定义 的 SQL 方言。这就意味着 HSQLDB 能够支持上面标准中涉及到的所有特性。

例如一些特性:left out join 等,这些特性都能在相关的标准中找到。

所有 SQL-92 中的句法特性和高级特性也能够被很好的支持,一些在 SQL:2008 中涉及到的一些可选特性也被支持了。SQL 标准的一致性工作也在不停的改变和统一中。

换句话说,HyperSQL 是所有开源关系数据库 中能够对 SQL 标准支持得最好的一种数据 库。

手册 中的一些章节使用的句法可能随着时间 的发展有所过时,当你为你的 HSQLDB 书写或者转换以及存在的 SQL DDL (数据定义语言 ),DML(数据操作语言)或DQL(数据查询语言)的时候,你需要查看下支持的句法,同时对你使用的老的 SQL 语句进行一些修改。

有差不多超过 300 多个关键字为保留关键字,你不能在你的表名和列名中使用这些关键字。例如关键字 POSITION 为函数定义的时候使用的保留关键字,这个与在 Java 程序 中使用的方法 String.indexOf() 又很接近。

例如 CUBE 为 SQL 标准的保留关键字,这个关键字现在还不能在 HSQLDB 中被支持,但是这个关键字是可以在表名和列名中使用的。

你应该尽可能的不要在你的表名和列名中使用这样的关键字,因为这些关键字有可能被数据库拒绝定义或者查询。

完整的关键字列表,你可以参考相关的手册,使用 Google 等搜索引擎来进行搜索。

如果你是做希望在一些表名和列名中使用保留关键字,那么你可以使用双引号来包含这个关键字。

HyperSQL 同时也支持增强关键字和表达式,这部分并不是 SQL 的标准。

例如表达式:

SELECT TOP 5 FROM .., SELECT LIMIT 0 10 FROM ... or DROP TABLE mytable
IF EXISTS便使用了这样的结构

你可以参考很多打印版本的 SQL 脚本和句法。如果你想对你的 SQL 脚本进行更好的组织,你也可以参考电子书: PostgreSQL:介绍与概念 http://www.postgresql.org/files/documentation/books/aw_pgsql/index.html   。上面这本书中描述的核心内容也适用于 HyperSQL。

HyperSQL 也定义了一些与其他数据库不同的关键字 (例如,OUTER,OID's 等)和一些有不同用途的关键字 (IDENTITY/SERIAL, TRIGGER, SEQUENCE 等)。

在 HyperSQL 2.0 中,所有 JDBC 4.0 中描述的特性都能够被完全的支持。

与 JDBC 有关的相关类和文档 ,以及 HSQLDB 对 JDBC 进行定义的注解,你可以参考 HSQLDB 提供的相关 Java API 文档,这些内容将会在类 org.hsqldb.jdbc.* 中进行定义和描述。

 

http://www.ossez.com/viewthread.php?tid=6793&fromuid=426

使用HSqlDB的SQL/JRT功能

使用HSqlDB的过程中,因为业务需求要执行动态SQL时,才突然发现HSqlDB不具有类似于SQL Server等数据库的Exec的功能。于是一番探索之后就有了本文。 SQL-92提出了支持动态SQ...
  • c77_cn
  • c77_cn
  • 2014年11月10日 18:19
  • 494

HyperSQL(HSQLDB)之对Oracle的支持

HSQL作为一个嵌入式DB,在开发过程中作为测试环境是非常方便的,本人也会经常将其作为简单Demo的DB。如了解ibatis的基础语法、Hibernate的HQL测试、Spring的JDBC支持等等,...
  • huigoo
  • huigoo
  • 2012年02月25日 10:18
  • 997

SQL92标准语句Mycat支持测试 (基于Oracle和MySQL数据库)与下载地址

基于Oracle和Mycat集群环境,针对Mycat对SQL92标准语句的支持情况,进行了较全面的测试。 本文CSDN下载地址:http://download.csdn.net/download...

标准SQL语句(2)--- 表的增删改

1. 创建表,基本语法格式为: create table

标准SQL语句(6) --- 数据的增删改

1. 添加一行新记录 添加数据使用的SQL命令 insert into

数据库系统、衡量标准与No-sql定位

数据库管理系统包括五个方面: 1.是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据,简称DBMS; 2.DBMS对数据进行统一的管理和控制,以保证数据的安全性和完整性; 3.用户通过D...

[标准]SQL的case when then 的使用范例

例如,下面的语句显示中文年月         select   getdate()   as   日期,case   month(getdate())     when   11   th...
  • paida
  • paida
  • 2014年03月01日 17:23
  • 447

SQL Server 2008 R2 中英文 开发版/企业版/标准版 下载

一. 简体中文 1. SQL Server 2008 R2 Developer (x86, x64, ia64) - DVD (Chinese-Simplified) File Name: cn_...
  • huajinx
  • huajinx
  • 2012年02月19日 15:47
  • 16107

Oracle之sql标准之连接查询汇总

简单连接 所谓笛卡尔积所生成的表,就是一个基本表中每一行与另一个基本表的 每一行连接在一起所生成的表,查询结果的行数是两个基本表的行数的积。 select a.*,b.* from emp a,dep...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HSQLDB 支持的 SQL 标准
举报原因:
原因补充:

(最多只允许输入30个字)