学习SAP HANA SQL 语句--像学Oracle一样学习SAP HANA

时间:2022-03-19 17:09:49

学习SAP HANA SQL 语句--像学Oracle一样学习SAP HANA:

SQL参考手册:SQL Reference Manual   http://help.sap.com/hana/html/sqlmain.html

1.SAP HANA 支持的SQL标准 : 支持SQL 92和SQL 99的核心特征,同时基于这些标准SAP HANA进行了多种自己私有的SQL扩展,比如:基于行和列的表,及两者之间的转换。

CREATE ROW TABLE AA (A INT PRIMARY KEY, B INT);

CREATE COLUMN TABLE CC (A INT PRIMARY KEY, B INT);

2.约束类型:

ORACLE:支持五种约束类型分别是:主键(PRIMARY KEY)   唯一键(UNIQUE KEY)  外键(FOREIGN KEY)   非空(NOT NULL)  还有CHECK键。

HANA :支持三种约束类型:主键(PRIMARY KEY)   唯一键(UNIQUE KEY)     非空(NOT NULL) , 不支持外键索引。

大家会觉得很奇怪没有外键约束,SAP HANA创建的关系型数据库如何保证其数据的一致性,SAP HANA是由应用服务器来进行数据一致性的检查。在有外键的情况下 插入和删除都要去关联做数据一致性的验证,那势必会造成性能的降低,在大数据的背景下,抛弃外键约束也是可以理解的。

 

3.索引类型:基本的三种索引类型。

SAP HANA Reference: CREATE INDEX   http://help.sap.com/hana/html/sql_create_index.html

CREATE [UNIQUE] [BTREE | CPBTREE] INDEX <index_name> ON <table_name> (<column_name_order>, ...) [ASC | DESC]

UNIQUE(唯一索引)

BTREE  (B+树索引)

CPBTREE ( CPB+树索引): CompressedPrefixB+-Tree: http://blog.csdn.net/qptufly/article/details/7860619

4.  SAP HANA 虚表。

DUMMY: SELECT 123 "integer", 123.4 "decimal1", 1.234e2 "decimal2", 0x0abc "hexadecimal" FROM DUMMY;