| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结 个人简历 事迹材料 租赁合同 演讲稿 项目管理 职场社交

SAP-HANA数据库SQL参考手册

文***品

贡献于2019-05-13

字数:224585 关键词: 参考手册

SAP HANA Database SQL 参考手册
SAP HANA Appliance Software SPS 04


目标读者
顾问
理员
SAP硬件合作伙伴
目录
符号表示 12
引言 13
SQL 13
支持语言代码页 13
注释 13
标识符 13
单引号 14
双引号 14
SQL 保留字 14
数类型 16
数类型分类 16
日期时间类型 16
Date 格式 16
Time 格式 17
Timestamp 格式 18
日期时间类型支持函数: 19
数字类型 20
字符类型 21
二进制类型 22
象(LOB)类型 22
SQL 数类型列存储数类型间映射 23
数类型转换 24
类型常量 27
谓词 29 SAP HANA 数库– SQL 参考手册
2
较谓词 29
范围谓词 29
In 谓词 29
Exists 谓词 29
NULL 谓词 30
CONTAINS 谓词 30
操作符 33
元二元操作符 33
操作符优先级 33
算术操作符 34
字符串操作符 34
较操作符 35
逻辑操作符 35
集合操作符 35
表达式 36
Case 表达式 36
Function 表达式 36
Aggregate 表达式 37
表达式中子查询 37
SQL 函数 39
介绍 39
数类型转换函数 39
CAST 39
TO_ALPHANUM 39
TO_BIGINT 40 SAP HANA 数库– SQL 参考手册
3
TO_BINARY 40
TO_BLOB 40
TO_CHAR 41
TO_CLOB 41
TO_DATE 41
TO_DATS 42
TO_DECIMAL 42
TO_DOUBLE 43
TO_INT 43
TO_INTEGER 43
TO_NCHAR 44
TO_NCLOB 44
TO_NVARCHAR 44
TO_REAL 45
TO_SECONDDATE 45
TO_SMALLDECIMAL 45
TO_SMALLINT 46
TO_TIME 46
TO_TIMESTAMP 46
TO_TINYINT 47
TO_VARCHAR 47
日期时间函数 47
ADD_DAYS 47
ADD_MONTHS 48
ADD_SECONDS 48 SAP HANA 数库– SQL 参考手册
4
ADD_YEARS 48
CURRENT_DATE 49
CURRENT_TIME 49
CURRENT_TIMESTAMP 49
CURRECT_UTCDATE 50
CURRENT_UTCTIME 50
CURRENT_UTCTIMESTAMP 50
DAYNAME 51
DAYOFMONTH 51
DAYOFYEAR 51
DAYS_BETWEEN 52
EXTRACT 52
HOUR 52
ISOWEEK 53
LAST_DAY 53
LOCALTOUTC 53
MINUTE 54
MONTH 54
MONTHNAME 54
NEXT_DAY 55
NOW 55
QUARTER 55
SECOND 56
SECONDS_BETWEEN 56
UTCTOLOCAL 56 SAP HANA 数库– SQL 参考手册
5
WEEK 57
WEEKDAY 57
YEAR 57
数字函数 58
ABS 58
ACOS 58
ASIN 59
ATAN 59
ATAN2 59
BINTOHEX 60
BITAND 60
CEIL 60
COS 61
COSH 61
COT 61
EXP 62
FLOOR 62
GREATEST 62
HEXTOBIN 63
LEAST 63
LN 63
LOG 64
MOD 64
POWER 65
ROUND 65 SAP HANA 数库– SQL 参考手册
6
SIGN 65
SIN 66
SINH 66
SQRT 66
TAN 67
TANH 67
UMINUS 67
字符串函数 68
ASCII 68
CHAR 68
CONCAT 68
LCASE 69
LEFT 69
LENGTH 69
LOCATE 70
LOWER 70
LPAD 71
LTRIM 71
NCHAR 71
REPLACE 72
RIGHT 72
RPAD 72
RTRIM 73
SUBSTR_AFTER 73
SUBSTR_BEFORE 74 SAP HANA 数库– SQL 参考手册
7
SUBSTRING 74
TRIM 74
UCASE 75
UNICODE 75
UPPER 76
杂项函数 76
COALESCE 76
CURRENT_CONNECTION 77
CURRENCT_SCHEMA 77
CURRENT_USER 77
GROUPING_ID 78
IFNULL 80
MAP 80
NULLIF 81
SESSION_CONTEXT 82
SESSION_USER 82
SYSUUID 83
SQL 语句 85
集合定义操语句 85
ALTER AUDIT POLICY 85
ALTER FULLTEXT INDEX 87
ALTER INDEX 89
ALTER SEQUENCE 89
ALTER TABLE 91
CREATE AUDIT POLICY 99 SAP HANA 数库– SQL 参考手册
8
CREATE FULLTEXT INDEX 101
CREATE INDEX 103
CREATE SCHEMA 104
CREATE SEQUENCE 105
CREATE SYNONYM 107
CREATE TABLE 107
CREATE TRIGGER 115
CREATE VIEW 124
DROP AUDIT POLICY 125
DROP FULLTEXT INDEX 126
DROP INDEX 127
DROP SCHEMA 127
DROP SEQUENCE 128
DROP SYNONYM 128
DROP TABLE 129
DROP TRIGGER 130
DROP VIEW 131
RENAME COLUMN 132
RENAME INDEX 132
RENAME TABLE 133
ALTER TABLE ALTER TYPE 134
TRUNCATE TABLE 135
数操语句: 136
DELETE: 136
EXPLAIN PLAN 137 SAP HANA 数库– SQL 参考手册
9
INSERT 141
LOAD 143
MERGE DELTA 143
REPLACE | UPSERT 144
SELECT 146
UNLOAD 158
UPDATE 158
系统理语句 159
SET SYSTEM LICENSE 159
ALTER SYSTEM ALTER CONFIGURATION 160
ALTER SYSTEM ALTER SESSION SET 162
ALTER SYSTEM ALTER SESSION UNSET 162
ALTER SYSTEM CANCEL [WORK IN] SESSION 163
ALTER SYSTEM CLEAR SQL PLAN CACHE 164
ALTER SYSTEM CLEAR TRACES 164
ALTER SYSTEM DISCONNECT SESSION 165
ALTER SYSTEM LOGGING 166
ALTER SYSTEM RECLAIM DATAVOLUME 166
ALTER SYSTEM RECLAIM LOG 167
ALTER SYSTEM RECLAIM VERSION SPACE 167
ALTER SYSTEM RECONFIGURE SERVICE 168
ALTER SYSTEM REMOVE TRACES 168
ALTER SYSTEM RESET MONITORING VIEW 169
ALTER SYSTEM SAVE PERFTRACE 170
ALTER SYSTEM SAVEPOINT 171 SAP HANA 数库– SQL 参考手册
10
ALTER SYSTEM START PERFTRACE 171
ALTER SYSTEM STOP PERFTRACE 172
ALTER SYSTEM STOP SERVICE 172
UNSET SYSTEM LICENSE ALL 173
会话理语句 173
CONNECT 173
SET HISTORY SESSION 173
SET SCHEMA 174
SET [SESSION] 174
UNSET [SESSION] 175
事务理语句 176
COMMIT 176
LOCK TABLE 176
ROLLBACK 176
SET TRANSACTION 177
访问控制语句 178
ALTER SAML PROVIDER 178
ALTER USER 179
CREATE ROLE 182
CREATE SAML PROVIDER 183
CREATE USER 184
DROP ROLE 186
DROP SAML PROVIDER 187
DROP USER 187
GRANT 188 SAP HANA 数库– SQL 参考手册
11
REVOKE 197
数导入导出语句 198
EXPORT 198
IMPORT 200
IMPORT FROM 202
SQL 语句限制 204
SQL 错误代码 207























SAP HANA 数库– SQL 参考手册
12
符号表示
参考手册 BNF(巴科斯范式)定义编程语言描述 SQL 符号技术BNF 描述
组利系列符号产生式规语法
< > 尖括号包含SQL语言句法元素(BNF非终结符)名字

定义符号提供出现产生式左侧元素定义

[ ] 方括号标示公式中选元素选元素特定者省略

{ } 公式中括号组元素重复元素(零元素)括号符号指定

| 代符表示公式中半部分前半部分代

省略号表明元素重复出现意次果省略号出现组元素表示括号括起组
元素重复果出现单元素该元素重复

引入普通英语文语法元素定义法BNF表达时














SAP HANA 数库– SQL 参考手册
13
引言
章节描述 SAP HANA 数库 SQL 语言实施解释 SQL 特性理注释保留

SQL
SQL 代表结构化查询语言标准化连通关系数库语言SQL 获取存储操作数
库中信息
SQL 语言执行务:
 集合(schema)定义操
 操作数
 系统理
 会话理
 事务理
支持语言代码页
SAP HANA 数库支持 Unicode 允许 Unicode 标准中语言限制 7 位 ACSII 代
码页
注释
SQL 语句添加注释增加读性维护性SQL 语句中注释分隔:
 双连字符双连字符直行尾容 SQL 解析器认注释
 **\种类型注释注释行容引号符*关闭符*\间
文字会 SQL 解析器忽略
标识符
<标识符> <简单标识符> | <双引号><特殊标识符><双引号>
<简单标识符> <字母> [{<字母数字>|<划线>} ]
<双引号>
<特殊标识符> 意单词
<字母> A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P
| Q | R | S
| T | U | V | W | X | Y | Z | a | b | c | d | e | f | g | h | i
| j | k | l | m SAP HANA 数库– SQL 参考手册
14
| n | o | p | q | r | s | t | u | v | w | x | y | z
<数字> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<字母数字> <字母> | <数字>
<划线> _
标识符表示 SQL 语句中名字包括表名视图名义字列名索引名函数名存储
程名户名角色名等等两种类型标识符:未定标识符分隔标识符
 未分隔表名列名必须字母开头包含数字者划线外符号
 分隔标识符分隔符双引号关闭然标识符包含字符包括特殊字符例
ABCD 效标识符
 限制:
o _SYS_专门数库引擎保留允许出现集合象名字开头
o 角色名户名必须未分隔符指定
o 标识符长度 127 字母
单引号
单引号分隔字符串两单引号代表单引号身
双引号
双引号分隔标识符两双引号代表双引号身
SQL 保留字
保留字 SAP HANA 数库 SQL 解析器着特殊含义成户定义名字保留字
SQL 语句中集合象名果必双引号限定表列名绕限

表列出现未 SAP HANA 数库保留字
SAP HANA 数库– SQL 参考手册
15

表 1保留字







SAP HANA 数库– SQL 参考手册
16
数类型
节描述 SAP HANA 数库中数类型
数类型指定数值特性特殊值 NULL 包含数类型中表示值缺省表显
示 SAP HANA 数库中提供置数类型
数类型分类
SAP HANA 数库中数类型特点分:
表 2 数类型分类
日期时间类型
 DATE
DATE 数类型年月日信息组成表示日期值DATA 类型默认格式YYYY
MMDD’YYYY 表示年MM 表示月 DD 表示日时间值范围 00010101 9999
1231
 TIME
TIME 数类型时分钟秒信息组成表示时间值TIME 类型默认格式
HH24MISS’HH24 表示 0 24 时数MI 代表 0 59 分钟值 SS 表示 0 59

 SECONDDATE
SECONDDATE 数类型年月日时分钟秒表示日期时间值
SECONDDATE 类型默认格式YYYYMMDD HH24MISS’YYYY 代表年MM 代表月份
DD 代表日HH24 表示时MI 表示分钟SS 表示秒日期值范围 00010101
000001 99991231 240000
 TIMESTAMP
TIMESTAMP 数类型日期时间信息组成默认格式YYYYMMDD
HH24MISSFF7’FFn 代表含数秒中 n 表示数部分数字位数时间戳范
围 00010101 0000000000000 99991231 2359599999999

关日期时间类型支持格式请参阅表 4表 5表 6 表 7
Date 格式 SAP HANA 数库– SQL 参考手册
17
面日期时间格式字符串解析日期时间类型日期时间类型解析成
字符串时请注意时间戳格式日期时间结合秒数部分额外支持
Format Description Examples

表 4:支持日期格式

Time 格式 SAP HANA 数库– SQL 参考手册
18

表 5:支持时间格式

Timestamp 格式

表 6:支持时间戳格式
SAP HANA 数库– SQL 参考手册
19
额外格式

表 7:DateTime 额外格式
日期时间类型支持函数:
 ADD_DAYS
 ADD_MONTHS
 ADD_SECONDS
 ADD_YEARS
 COALESCE
 CURRENT_DATE
 CURRENT_TIME
 CURRENT_TIMESTAMP
 CURRENT_UTCDATE
 CURRENT_UTCTIME
 CURRENT_UTCTIMESTAMP
 DAYNAME
 DAYOFMONTH
 DAYOFYEAR
 DAYS_BETWEEN
 EXTRACT
 GREATEST
 GREATEST
 HOUR
 IFNULL
 ISOWEEK
 LAST_DAY
 LEAST
 LOCALTOUTC
 MINUTE
 MONTH
 MONTHNAME
 NEXT_DAY SAP HANA 数库– SQL 参考手册
20
 NULLIF
 QUARTER
 SECOND
 SECONDS_BETWEEN
 TO_CHAR
 TO_DATE
 TO_DATS
 TO_NCHAR
 TO_TIME
 TO_TIMESTAMP
 UTCTOLOCAL
 WEEK
 WEEKDAY
 YEAR

数字类型
 TINYINT
TINYINT 数类型存储 8 位符号整数TINYINT 值 0值 255
 SMALLINT
SMALLINT 数类型存储 16 位符号整数SMALLINT 值32768 值
32 767
 INTEGER
INTEGER 数类型存储 32 位符号整数INTEGER 值2147483648
值 2147483647
 BIGINT
BIGINT 数类型存储 64 位符号整数INTEGER 值
9223372036854775808值 9 223372036854775807
 DECIMAL(精度数位数) DEC(p s)
DECIMAL (p s) 数类型指定精度 p 数位数 s 定点数精度效位数
总数范围 1 34
数位数数点效数字数字数范围6111 6176表示位数指
定十进制数指数范围 106111 106176果没指定数位数默认值 0
数字效数字数点右侧时数位数正效数字数点左侧时数位
数负
例子:00000001234 (1234 x 1010) 精度 4数位数 10 10000001234
(10000001234 x 1010) 精度 11数位数 10 1234000000 (1234x106) 精度 4数
位数6
未指定精度数位数DECIMAL 成浮点数种情况精度数位数
文描述范围根存储数值134 精度 61116176 数位数
 SMALLDECIMAL SAP HANA 数库– SQL 参考手册
21
SMALLDECIMAL 浮点十进制数精度数位数范围根存储
数值116 精度369368 数位数SMALLDECIMAL 支持列式存储
DECIMAL SMALLDECIMAL 浮点十进制数举例说十进制列存储 314
314153141592 时保持精度
DECIMAL(p s) SQL 定点十进制数标准标记例314 314153141592 存储
decimal(5 4)列中 31400 31415 31416保持精度(5)数位数(4)
 REAL
REAL 数类型定义 32 位单精度浮点数
 DOUBLE
DOUBLE 数类型定义 64 位单精度浮点数值179769 x 10308值
179769x10308DOUBLE 正数 22207x10308负数22207x10308
 FLOAT( n )
FLOAT 数类型定义 32 位 64 位实数n 指定效数字数范围 1
53
FLOAT( n )数类型时果 n 25 会变成 32 位实数类型果 n
等 25会成 64 DOUBLE 数类型果 n 没声明默认变成 64 位
double 数类型

字符类型

字符类型存储包含字符串值VARCHAR 类型包含 ASCII 字符串 NVARCHAR
存储 Unicode 字符串

 VARCHAR
VARCHAR (n) 数类型定义变长度 ASCII 字符串n 表示长度 1
5000 整数值
 NVARCHAR
NVARCHAR (n) 数类型定义变长度 Unicode 字符串n 表示长度
1 5000 整数值
 ALPHANUM
ALPHANUM (n) 数类型定义变长度包含字母数字字符串n 表示长度
1 127 整数值
 SHORTTEXT
SHORTTEXT (n) 数类型定义变长度字符串支持文搜索字符搜索功
标准 SQL 类型选择列 SHORTTEXT (n) 列会生成 NVARCHAR (n)类型

SHORTTEXT '(' int_const ')'
[ '' ]
| SYNC[HRONOUS] SAP HANA 数库– SQL 参考手册
22
二进制类型
二进制类型存储二进制数字节
 VARBINARY
VARBINARY 数类型存储指定长度二进制数字节单位n 代表长
度 1 5000 整数
象(LOB)类型
LOB(象)数类型CLOBNCLOB BLOB存储量数例文文件图
LOB 2GB
 BLOB
BLOB 数类型存储二进制数
 CLOB
CLOB 数类型存储 ASCII 字符数
 NCLOB
NCLOB 数类型存储 Unicode 字符象
 TEXT
TEXT 数类型指定支持文搜索功独立 SQL 类型选择列 TEXT 列会
生成 NCLOB 类型列

TEXT

[ '' ]

| [SYNC[HRONOUS]
| [ASYNC[HRONOUS] FLUSH [QUEUE]
EVERY MINUTES [[OR] AFTER DOCUMENTS] ]
TEXT SHORTTEXT 语法规
LANGUAGE COLUMN
| LANGUAGE DETECTION '(' ')'
| MIME TYPE COLUMN
| FUZZY SEARCH INDEX [ON|OFF]
| PHRASE INDEX RATIO [ON|OFF]
| CONFIGURATION
| SEARCH ONLY [ON|OFF] SAP HANA 数库– SQL 参考手册
23
| FAST PREPROCESS [ON|OFF]
LOB 类型存储检索量数LOB 类型支持操作:
 Length(n)字节形式返回 LOB 长度
 LIKE 搜索 LOB 列
LOB 类型限制:
 LOB 列出现 ORDER BY GROUP BY 子句中
 LOB 列出现 FROM 子句作联接谓词
 作谓词出现 WHERE 子句中 LIKECONTAINS<>
 LOB 列出现 SELECT 子句作聚合函数参数
 LOB 列出现 SELECT DISTINCT 语句中
 LOB 列集合操作 EXCEPT UNION ALL 例外
 LOB 列作键
 LOB 列 CREATE INDEX 语句
 LOB 列统计信息更新语句
SQL 数类型列存储数类型间映射
SAP HANA 数库– SQL 参考手册
24






数类型转换
节描述 SAP HANA 数库中允许类型转换
 显式类型转换
表达式结果类型例字段索引字段函数者文字函数进行转
换:CAST TO_ALPHANUM TO_BIGINT TO_VARBINARY
TO_BLOB TO_CLOB TO_DATE TO_DATS TO_DECIMAL TO_DOUBLE TO_INTEGER TO_INT
TO_NCLOB TO_NVARCHAR TO_REAL TO_SECONDDATE TO_SMALLINT TO_TINYINT TO_TIME
TO_TIMESTAMP TO_VARCHAR
 隐式类型转换
定系列运算符参数类型符合期类型SAP HANA 数库会执行类型
转换种转换仅仅发生相关转换供运算符参数类型执行举
例说BIGINT VARCHAR 间较通 VARCHAR 隐式转换成 BIGINT 进行
显式转换全部隐式转换 TIME TIMESTAMP 数类型 TIME
TIMESTAMP TO_TIME(TIMESTAMP) TO_TIMESTAMP(TIME)相互转换
 例子

表 8: 隐式类型转换例子
表中:
 方框中OK表示允许数类型转换没检查
 方框中CHK表示数类型转换数效目标类型时执行
 方框中表示允许该数类型转换 SAP HANA 数库– SQL 参考手册
25
显示规时适隐式显示转换 TIME TIMESTAMP 转换TIME 类型通
显示转换 TO_TIMESTAMP 者 CAST 函数执行

表 9a:数类型转换表

表 9b:数类型转换表 SAP HANA 数库– SQL 参考手册
26

表 9c:数类型转换表
数类型优先序
节介绍 SAP HANA 数库实施数类型优先级数类型优先级指定较低优先级类型转
换较高优先级类型


SAP HANA 数库– SQL 参考手册
27
类型常量
常量表示特定固定数值符号
 字符串常量
字符串常量括单引号中
o 'Brian'
o '100'
Unicode 字符串格式字符串相似前面 N 标识符(N 代表 SQL92 标准中国
际语言)N 前缀必须写
o N'abc'
SELECT 'Brian' character string 1 '100' character string 2 N'abc' unicode st
ring FROM DUMMY

character string 1 character string 2 unicode string
Brian 100 abc
 数字常量
数字常量没括单引号中数字字符串表示数字包含数点者科学计数
o 123
o 1234
o 1234e2
十六进制数字常量十六进制数字符串含前缀 0x
o 0x0abc
SELECT 123 integer 1234 decimal1 1234e2 decimal2 0x0abc hexadecimal FR
OM DUMMY

integer decimal1 decimal2 hexadecimal
123 1234 1234 2748
 二进制字符串常量
二进制字符串前缀 X括单引号中十六进制数字字符串
o X'00abcd'
o x'dcba00'

SELECT X'00abcd' binary string 1 x'dcba00' binary string 2 FROM DUMMY

binary string 1 binary string 2
00ABCD DCBA00 SAP HANA 数库– SQL 参考手册
28
 日期时间时间戳常量
日期时间时间戳前缀:
o date'20100101'
o time'110000001'
o timestamp'20111231 235959'
SELECT date'20100101' date time'110000001' time timestamp'20111231 23
5959' timestamp FROM DUMMY

date time timestamp
20100101 110000 20111231 2359590























SAP HANA 数库– SQL 参考手册
29
谓词
谓词组合表达式者逻辑运算符指定返回逻辑真值中:
TRUEFALSE者 UNKNOW
较谓词
两值较谓词进行较返回 TRUEFALSE UNKNOW
语法:

{ | | <> | > | < | > | < } [ ANY | SOME| ALL ] { st> | }

表达式简单表达式字符日期者数字标量子查询
ANY SOME – 指定 ANY 者 SOME 关键字果子查询返回 少结果者
expression_list 真较操作返回真ALL 指定 ALL 时果子查询返回结果者
expression_list 真较操作返回真
范围谓词
值定范围中进行较
语法:
[NOT] BETWEEN AND
BETWEEN …AND … 指定范围谓词时果 expression1 expression2 expression3 指定
范围时结果返回真果 expression2 expression3 返回真
In 谓词
值组指定值较果 expression1 值 expression_list(子查询)中结果返回

语法:
[NOT] IN { | }
Exists 谓词
果子查询返回非空结果集结果真返回空结果集结果假
Like 谓词 SAP HANA 数库– SQL 参考手册
30
Like 较字符串Expression1 包含 expression2 中模式较通配符()(_)
较字符串 expression2 中
NULL 谓词
指定谓词 IS NULL值 NULL 较果表达式值 NULL IS NULL 返回值真
果指定谓词 IS NOT NULL值 NULL 时返回值真
语法:
null_predicate> IS [NOT] NULL
CONTAINS 谓词
CONTAINS 谓词搜索子查询中文匹配字符串
语法:
CONTAINS '(' '' ')'
| CONTAINS '(' '' '' arch_specifier> ')'
'*' | | '(' ')'


|
empty
|
| |

| ''
|
EXACT
FUZZY
| FUZZY '(' ')' SAP HANA 数库– SQL 参考手册
31
| FUZZY '(' '' ')'
LINGUISTIC
WEIGHT '(' ')'
LANGUAGE '(' ')'


search_string
式字符串搜索格式(例Peter Palo Alto Berlin SAP LABS)
search_specifier
果没指定 search_specifierEXACT 默认值
EXACT
search_attributes 中精确匹配 searchterms 记录EXACT 返回真
FUZZY
search_attributes 相似匹配 searchterms 记录FUZZY 返回真(例某种程度忽略
拼写错误)
Float_const
果省略 float_const默认值 08通定义列式存储联接视图支持参数
FUZZINESSTHRESHOLD 覆盖默认值
WEIGHT
果定义 weights 列表必须中列数量样
LANGUAGE
LANGUAGE 搜索字符串预处理中作搜索前滤返回匹配搜索字符串文
档定义语言
LINGUISTIC
searchattribute 中出现 searchterms 字符变量LINGUISTIC 返回真
SAP HANA 数库– SQL 参考手册
32
限制:果 where 条件中定义 CONTAINS中
表中止列组成
CONTAINS 列式存储表适(简单表联接视图)
例子

精确搜索:
select * from T where contains(column1 'dog OR cat') EXACT is implicit select
* from T where contains(column1 'dog OR cat' EXACT)
select * from T where contains(column1 'cats and dogs') phrase search

模糊搜索:
select * from T where contains(column1 'catz' FUZZY(08))

语言搜索
select * from T where contains(column1 'catz' LINGUISTIC)

式搜索:
式搜索列搜索
select * from T where CONTAINS( (column1column2column3) 'cats OR dogz' FUZZY(0
7))
select * from T where CONTAINS( (column1column2column3) 'cats OR dogz' FUZZY(0
7))


SAP HANA 数库– SQL 参考手册
33
操作符
表达式中操作符进行算术运算操作符计算较值者赋值

元二元操作符

表 10 元二元操作符

操作符优先级
表达式操作符果操作符 SAP HANA 数库会根操作符优先
级评估通括号改变序括号表达式会第评估
果没括号操作符优先级根表请注意SAP HANA 数库优先级相操
作符左右评估操作符 SAP HANA 数库– SQL 参考手册
34


算术操作符
算术操作符执行数学运算加法减法法法负数

表 12 算术操作符

字符串操作符
级联操作符结合两项类似字符串表达式者常量项中

表 13 级联操作符
VARCHAR 者 NVARCHAR 类型字符串前导者置空格保留果中字符串类型
NVARCHAR结果 NVARCHAR 限制 5000 字母VARCHAR 联接长度限
制 5000 字母 SAP HANA 数库– SQL 参考手册
35

较操作符
语法:



表 14 较操作符

逻辑操作符
搜索条件 AND 者 OR 操作符结合 NOT 操作符否定条件

表 15:逻辑操作符
集合操作符
节中述操作符两更查询结果执行集合操作 SAP HANA 数库– SQL 参考手册
36

表 16:集合操作符
表达式
表达式计算返回值子句
语法:


|
|
| ( )
| ( )
|
|
|
|
| []
Case 表达式
Case 表达式允许户 IF THEN ELSE 逻辑 SQL 语句中调存储程
语法:

CASE
WHEN THEN
[ ELSE ]
{ END | END CASE }
果位 CASE 语句面表达式 WHEN 面表达式相等 THEN 表达式作返回
值否返回 ELSE 语句表达式果存话
Function 表达式 SAP HANA 数库– SQL 参考手册
37
SQL 置函数作表达式
语法:
( )
Aggregate 表达式
Aggregate 表达式利 aggregate 函数计算列中行值
语法
COUNT(*) | ( [ ALL | DISTINCT ]
)
COUNT | MIN | MAX | SUM | AVG | STDDEV | VAR


表达式中子查询
子查询括号中 SELECT 语句SELECT 语句包含仅选择项作表达
式时标量子查询允许返回零值
语法:
()
高级 SELECT 中 SELECT 列表者 UPDATE 语句中 SET 条件中
列名方标量子查询scalar_subquery GROUP BY 条件中
例子:
语句返回部门中员工数根部门名字分组: SAP HANA 数库– SQL 参考手册
38
SELECT DepartmentName COUNT(*) 'out of'
(SELECT COUNT(*) FROM Employees)
FROM Departments AS D Employees AS E
WHERE DDepartmentID EDepartmentID
GROUP BY DepartmentName



























SAP HANA 数库– SQL 参考手册
39
SQL 函数
介绍
章介绍 SAP HANA 数库提供 SQL 函数
 Data Type Conversion Functions
 DateTime Functions
 Number Functions
 String Functions
 Miscellaneous Functions
数类型转换函数
数类型转换函数参数数类型转换数类型者测试转换否行
CAST
语法:
CAST (expression AS data_type)
语法元素:
Expression – 转换表达式Data type – 目标数类型TINYINT | SMALLINT |
INTEGER | BIGINT | DECIMAL | SMALLDECIMAL | REAL | DOUBLE | ALPHANUM | VARCHAR |
NVARCHAR | DAYDATE | DATE | TIME | SECONDDATE | TIMESTAMP
描述:
返回转换提供数类型表达式
例子:
SELECT CAST (7 AS VARCHAR) cast FROM DUMMY
Cast
7
TO_ALPHANUM
语法:
TO_ALPHANUM (value)
描述:
定 value 转换 ALPHANUM 数类型 SAP HANA 数库– SQL 参考手册
40
例子:
SELECT TO_ALPHANUM ('10') to alphanum FROM DUMMY
to alphanum
10
TO_BIGINT
语法:
TO_BIGINT (value)
描述:
value 转换 BIGINT 类型
例子:
SELECT TO_BIGINT ('10') to bigint FROM DUMMY
to bigint
10
TO_BINARY
语法:
TO_BINARY (value)
描述:
value 转换 BINARY 类型
例子:
SELECT TO_BINARY ('abc') to binary FROM DUMMY
to binary
616263
TO_BLOB
语法:
TO_BLOB (value)
描述:
value 转换 BLOB 类型参数值必须二进制字符串 SAP HANA 数库– SQL 参考手册
41
例子:
SELECT TO_BLOB (TO_BINARY('abcde')) to blob FROM DUMMY
to blob
abcde
TO_CHAR
语法:
TO_CHAR (value [ format])
描述:
value 转换 CHAR 类型果省略 format 关键字转换会 Date Formats 中说明日期
格式模型
例子:
SELECT TO_CHAR (TO_DATE('20091231') 'YYYYMMDD') to char FROM DUMMY
to char
20091231
TO_CLOB
语法:
TO_CLOB (value)
描述
value 转换 CLOB 类型
例子:
SELECT TO_CLOB ('TO_CLOB converts the value to a CLOB data type') to clob FROM DUMMY
to clob
TO_CLOB converts the value to a CLOB data type
TO_DATE
语法:
TO_DATE (d [ format])
描述: SAP HANA 数库– SQL 参考手册
42
日期字符串 d 转换 DATE 数类型果省略 format 关键字转换会 Date Formats 中
说明日期格式模型
例子:
SELECT TO_DATE('20100112' 'YYYYMMDD') to date FROM DUMMY
to date
20100112
TO_DATS
语法:
TO_DATS (d)
描述:
字符串 d 转换 ABAP 日期字符串格式YYYYMMDD
例子:
SELECT TO_DATS ('20100112') abap date FROM DUMMY
abap date
20100112
TO_DECIMAL
语法:
TO_DECIMAL (value [ precision scale])
描述:
value 转换 DECIMAL 类型
精度效数字总数范围 1 34数位数数点效数字数字数范围
6111 6176表示位数指定十进制数指数范围 106111 106176果没指定
数位数默认值 0数字效数字数点右侧时数位数正效数字
数点左侧时数位数负
未指定精度数位数DECIMAL 成浮点数种情况精度数位数文描
述范围根存储数值精度 134 数位数 61116176
例子:
SELECT TO_DECIMAL(7654321888888 10 3) to decimal FROM DUMMY SAP HANA 数库– SQL 参考手册
43
to decimal
7654321889
TO_DOUBLE
语法:
TO_DOUBLE (value)
描述:
value 转换 DOUBLE(双精度)数类型
例子:
SELECT 3*TO_DOUBLE ('1512') to double FROM DUMMY
to double
4536
TO_INT
语法:
TO_INT (value)
描述:
value 转换 INTEGER 类型
例子:
SELECT TO_INT('10') to int FROM DUMMY
to int
10
TO_INTEGER
语法:
TO_INTEGER (value)
描述:
value 转换 INTEGER 类型
例子:
SELECT TO_INT('10') to int FROM DUMMY SAP HANA 数库– SQL 参考手册
44
to int
10
TO_NCHAR
语法:
TO_NCHAR (value [ format])
描述:
value 转换 NCHAR Unicode 字符类型果省略 format 关键字转换会 Date Formats
中说明日期格式模型
例子:
SELECT TO_NCHAR (TO_DATE('20091231') 'YYYYMMDD') to nchar FROM DUMMY
to nchar
20091231
TO_NCLOB
语法:
TO_NCLOB (value)
描述:
value 转换 NCLOB 数类型
例子:
SELECT TO_NCLOB ('TO_NCLOB converts the value to a NCLOB data type') to nclob FROM DUMMY
to nclob
TO_NCLOB converts the value to a NCLOB data type
TO_NVARCHAR
语法:
TO_NVARCHAR (value [format])
描述:
value 转换 NVARCHAR Unicode 字符类型果省略 format 关键字转换会 Date
Formats 中说明日期格式模型
例子: SAP HANA 数库– SQL 参考手册
45
SELECT TO_NVARCHAR(TO_DATE('20091231') 'YYMMDD') to nchar FROM DUMMY
to nchar
091231
TO_REAL
语法:
TO_REAL (value)
描述:
value 转换实数(单精度)数类型
例子:
SELECT 3*TO_REAL ('1512') to real FROM DUMMY
to real
4536000061035156
TO_SECONDDATE
语法:
TO_SECONDDATE (d [ format])
描述:
value 转换 SECONDDATE 类型果省略 format 关键字转换会 Date Formats 中说明
日期格式模型
例子:
SELECT TO_SECONDDATE ('20100111 133000' 'YYYYMMDD HH24MISS') to seconddate FROM
DUMMY
to seconddate
20100111 1330000
TO_SMALLDECIMAL
语法:
TO_SMALLDECIMAL (value)
描述:
value 转换 SMALLDECIMAL 类型
例子: SAP HANA 数库– SQL 参考手册
46
SELECT TO_SMALLDECIMAL(765432189) to smalldecimal FROM DUMMY
to smalldecimal
765432189
TO_SMALLINT
语法:
TO_SMALLINT (value)
描述:
value 转换 SMALLINT 类型
例子:
SELECT TO_SMALLINT ('10') to smallint FROM DUMMY
to smallint
10
TO_TIME
语法:
TO_TIME (t [ format])
描述:
时间字符串 t 转换 TIME 类型果省略 format 关键字转换会 Date Formats 中说明
日期格式模型
例子:
SELECT TO_TIME ('0830 AM' 'HHMI AM') to time FROM DUMMY
to time
083000
TO_TIMESTAMP
语法:
TO_TIMESTAMP (d [ format])
描述:
时间字符串 t 转换 TIMESTAMP 类型果省略 format 关键字转换会 Date Formats
中说明日期格式模型
例子: SAP HANA 数库– SQL 参考手册
47
SELECT TO_TIMESTAMP ('20100111 133000' 'YYYYMMDD HH24MISS') to timestamp
FROM DUMMY
to timestamp
20100111 1330000
TO_TINYINT
语法:
TO_TINYINT (value)
描述:
value 转换 TINYINT 类型
例子
SELECT TO_TINYINT ('10') to tinyint FROM DUMMY
to tinyint
10
TO_VARCHAR
语法:
TO_VARCHAR (value [ format])
描述
定 value 转换 VARCHAR 字符串类型果省略 format 关键字转换会 Date Formats
中说明日期格式模型
例子:
SELECT TO_VARCHAR (TO_DATE('20091231') 'YYYYMMDD') to char FROM DUMMY
to char
20091231
日期时间函数
ADD_DAYS
语法
ADD_DAYS (d n)
描述: SAP HANA 数库– SQL 参考手册
48
计算日期 d n 天值
例子:
SELECT ADD_DAYS (TO_DATE ('20091205' 'YYYYMMDD') 30) add days FROM DUMMY
add days
20100104
ADD_MONTHS
语法:
ADD_MONTHS (d n)
描述:
计算日期 d n 月值
例子:
SELECT ADD_MONTHS (TO_DATE ('20091205' 'YYYYMMDD') 1) add months FROM DUMMY

add months
20100105
ADD_SECONDS
语法:
ADD_SECONDS (t n)
描述:
计算时间 t n 秒值
例子:
SELECT ADD_SECONDS (TO_TIMESTAMP ('20120101 233045') 60*30) add seconds FROM
DUMMY
add seconds
20120102 0000450
ADD_YEARS
语法: SAP HANA 数库– SQL 参考手册
49
ADD_YEARS (d n)
描述:
计算日期 d n 年值
例子:
SELECT ADD_YEARS (TO_DATE ('20091205' 'YYYYMMDD') 1) add years FROM DUMMY
add years
20101205
CURRENT_DATE
语法:
CURRENT_DATE
描述:
返回前系统日期
例子:
SELECT CURRENT_DATE current date FROM DUMMY
current date
20100111
CURRENT_TIME
语法:
CURRENT_TIME
描述:
返回前系统时间
例子:
SELECT CURRENT_TIME current time FROM DUMMY
current time
173737
CURRENT_TIMESTAMP
语法:
CURRENT_TIMESTAMP SAP HANA 数库– SQL 参考手册
50
描述:
返回前系统时间戳信息
例子:
SELECT CURRENT_TIMESTAMP current timestamp FROM DUMMY
current timestamp
20100111 173848802
CURRECT_UTCDATE
语法:
CURRENT_UTCDATE
描述:
返回前 UTC 日期UTC 代表协调世界时称格林尼治标准时间(GMT)
例子:
SELECT CURRENT_UTCDATE Coordinated Universal Date FROM DUMMY
Coordinated Universal Time
20100111
CURRENT_UTCTIME
语法:
CURRENT_UTCTIME
描述:
返回前 UTC 时间
例子:
SELECT CURRENT_UTCTIME Coordinated Universal Time FROM DUMMY
Coordinated Universal Time
084119
CURRENT_UTCTIMESTAMP
语法:
CURRENT_UTCTIMESTAMP SAP HANA 数库– SQL 参考手册
51
描述:
返回前 UTC 时间戳
例子:
SELECT CURRENT_UTCTIMESTAMP Coordinated Universal Timestamp FROM DUMMY
Coordinated Universal Timestamp
20100111 084142484
DAYNAME
语法:
DAYNAME (d)
描述:
返回周中日期 d 英文名
例子:
SELECT DAYNAME ('20110530') dayname FROM DUMMY
dayname
MONDAY
DAYOFMONTH
语法:
DAYOFMONTH (d)
描述:
返回月中日期 d 整数数字
例子:
SELECT DAYOFMONTH ('20110530') dayofmonth FROM DUMMY
dayofmonth
30
DAYOFYEAR
语法:
DAYOFYEAR (d) SAP HANA 数库– SQL 参考手册
52
描述
返回年中代表日期 d 整数数字
例子:
SELECT DAYOFYEAR ('20110530') dayofyear FROM DUMMY
dayofyear
150
DAYS_BETWEEN
语法:
DAYS_BETWEEN (d1 d2)
描述:
计算 d1 d2 间日期数
例子:
SELECT DAYS_BETWEEN (TO_DATE ('20091205' 'YYYYMMDD') TO_DATE('20100105' 'YYYYMM
DD')) days between FROM DUMMY
days between
31
EXTRACT
语法:
EXTRACT ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} FROM d)
描述:
返回日期 d 中指定时间日期字段值
例子:
SELECT EXTRACT (YEAR FROM TO_DATE ('20100104' 'YYYYMMDD')) extract FROM DUMMY
extract
2010
HOUR
语法:
HOUR (t) SAP HANA 数库– SQL 参考手册
53
描述:
返回时间 t 中表示时整数
例子:
SELECT HOUR ('123456') hour FROM DUMMY
hour
12
ISOWEEK
语法:
ISOWEEK (d)
描述:
返回日期 d ISO 年份星期数星期数前缀字母 W请阅 WEEK
例子:
SELECT ISOWEEK (TO_DATE('20110530' 'YYYYMMDD')) isoweek FROM DUMMY
Isoweek
2011W22
LAST_DAY
语法:
LAST_DAY (d)
描述:
返回包含日期 d 月天日期
例子:
SELECT LAST_DAY (TO_DATE('20100104' 'YYYYMMDD')) last day FROM DUMMY
last day
20100131
LOCALTOUTC
语法:
LOCALTOUTC (t timezone) SAP HANA 数库– SQL 参考手册
54
描述:
timezone 时间 t 转换 UTC 时间
例子:
SELECT LOCALTOUTC (TO_TIMESTAMP('20120101 010000' 'YYYYMMDD HH24MISS') '
EST') localtoutc FROM DUMMY
localtoutc
20120101 0600000
MINUTE
语法
MINUTE(t)
描述:
返回时间 t 中表示分钟数字
例子:
SELECT MINUTE ('123456') minute FROM DUMMY
minute
34
MONTH
语法:
MONTH(d)
描述:
返回日期 d 月份数字
例子:
SELECT MONTH ('20110530') month FROM DUMMY
month
5
MONTHNAME
语法: SAP HANA 数库– SQL 参考手册
55
MONTHNAME(d)
描述:
返回日期 d 月份英文名
例子:
SELECT MONTHNAME ('20110530') monthname FROM DUMMY
monthname
MAY
NEXT_DAY
语法:
NEXT_DAY (d)
描述:
返回日期 d 第二天
例子:
SELECT NEXT_DAY (TO_DATE ('20091231' 'YYYYMMDD')) next day FROM DUMMY
next day
20100101
NOW
语法:
NOW ()
描述:
返回前时间戳
例子:
SELECT NOW () now FROM DUMMY
now
20100101 163419894
QUARTER
语法: SAP HANA 数库– SQL 参考手册
56
QUARTER (d [ start_month ])
描述:
返回日期 d 年份季度第季度 start_month 定义月份开始果没定义
start_month第季度假设月开始
例子:
SELECT QUARTER (TO_DATE('20120101' 'YYYYMMDD') 2) quarter FROM DUMMY
quarter
2011Q4
SECOND
语法:
SECOND (t)
描述:
返回时间 t 表示秒数
例子:
SELECT SECOND ('123456') second FROM DUMMY
second
56
SECONDS_BETWEEN
语法:
SECONDS_BETWEEN (d1 d2)
描述:
计算日期参数 d1 d2 间秒数语义等 d2d1
例子:
SELECT SECONDS_BETWEEN ('20091205' '20100105') seconds between FROM DUMMY
seconds between
2678400
UTCTOLOCAL
语法: SAP HANA 数库– SQL 参考手册
57
UTCTOLOCAL (t timezone)
描述:
UTC 时间值转换时区 timezone 时间
例子:
SELECT UTCTOLOCAL (TO_TIMESTAMP('20120101 010000' 'YYYYMMDD HH24MISS') 'EST')
utctolocal FROM DUMMY
utctolocal
20111231 2000000
WEEK
语法:
WEEK (d)
描述:
返回日期 d 星期整数数字请参阅 ISOWEEK
例子:
SELECT WEEK (TO_DATE('20110530' 'YYYYMMDD')) week FROM DUMMY
week
23
WEEKDAY
语法:
WEEKDAY (d)
描述:
返回代表日期 d 星期日期数字返回值范围 0 6表示 Monday(0) Sunday(6)
例子:
SELECT WEEKDAY (TO_DATE ('20101231' 'YYYYMMDD')) week day FROM DUMMY
week day
4
YEAR
语法: SAP HANA 数库– SQL 参考手册
58
YEAR (d)
描述:
返回日期 d 年份数
例子:
SELECT YEAR (TO_DATE ('20110530' 'YYYYMMDD')) year FROM DUMMY
year
2011
数字函数
数字函数接受数字者带数字字符串作输入返回数值数字字符字符串作输入
时计算结果前动执行字符串数字隐式转换
ABS
语法:
ABS (n)
描述:
返回数字参数 n 绝值
例子:
SELECT ABS (1) absolute FROM DUMMY
absolute
1
ACOS
语法:
ACOS (n)
描述:
返回参数 n 反余弦弧度单位值1 1
例子:
SELECT ACOS (05) acos FROM DUMMY
acos
10471975511965979 SAP HANA 数库– SQL 参考手册
59
ASIN
语法:
ASIN (n)
描述:
返回参数 n 反正弦值弧度单位值1 1
例子:
SELECT ASIN (05) asin FROM DUMMY
asin
05235987755982989
ATAN
语法:
ATAN (n)
描述:
返回参数 n 反正切值弧度单位n 范围限
例子:
SELECT ATAN (05) atan FROM DUMMY
atan
04636476090008061
ATAN2
语法:
ATAN2 (n m)
描述:
返回两数 n m 率反正切值弧度单位 ATAN(nm)结果致
例子:
SELECT ATAN2 (10 20) atan2 FROM DUMMY
atan2
04636476090008061 SAP HANA 数库– SQL 参考手册
60
BINTOHEX
语法:
BINTOHEX (expression)
描述:
二进制值转换十六进制
例子:
SELECT BINTOHEX('AB') bintohex FROM DUMMY
bintohex
4142
BITAND
语法:
BITAND (n m)
描述:
参数 n m 位执行 AND 操作n m 必须非负整数BITAND 函数返回 BIGINT 类型结

例子:
SELECT BITAND (255 123) bitand FROM DUMMY
bitand
123
CEIL
语法:
CEIL(n)
描述:
返回者等 n 第整数
例子:
SELECT CEIL (145) ceiling FROM DUMMY
ceiling
15 SAP HANA 数库– SQL 参考手册
61
COS
语法:
COS (n)
描述:
返回参数 n 余弦值弧度单位
例子:
SELECT COS (00) cos FROM DUMMY
cos
10
COSH
语法:
COSH (n)
描述:
返回参数 n 双曲余弦值
例子:
SELECT COSH (05) cosh FROM DUMMY
cosh
11276259652063807
COT
语法:
COT (n)
描述:
计算参数 n 余切值中 n 弧度表示
例子:
SELECT COT (40) cot FROM DUMMY
cot
08950829176379128 SAP HANA 数库– SQL 参考手册
62
EXP
语法:
EXP (n)
描述:
返回 e 底n 指数计算结果
例子:
SELECT EXP (10) exp FROM DUMMY
exp
2718281828459045
FLOOR
语法:
FLOOR (n)
描述:
返回参数 n 数
例子
SELECT FLOOR (145) floor FROM DUMMY
floor
14
GREATEST
语法:
GREATEST (n1 [ n2])
描述:
返回参数 n1n2…数
例子:
SELECT GREATEST ('aa' 'ab' 'ba' 'bb') greatest FROM DUMMY
greatest
bb SAP HANA 数库– SQL 参考手册
63
HEXTOBIN
语法:
HEXTOBIN (value)
描述:
十六进制数转换二进制数
例子:
SELECT HEXTOBIN ('1a') hextobin FROM DUMMY
hextobin
1A
LEAST
语法:
LEAST (n1 [ n2])
描述:
返回参数 n1n2…数
例子:
SELECT LEAST('aa' 'ab' 'ba' 'bb') least FROM DUMMY
least
aa
LN
语法:
LN (n)
描述:
返回参数 n 然数
例子:
SELECT LN (9) ln FROM DUMMY
ln
21972245773362196 SAP HANA 数库– SQL 参考手册
64
LOG
语法:
LOG (b n)
描述:
返回 b 底n 然数值底 b 必须 1 正数 n 必须正数
例子:
SELECT LOG (10 2) log FROM DUMMY
log
030102999566398114
MOD
语法:
MOD (n d)
描述:
返回 n 整 b 余数值
n 负时该函数行标准模运算
列举 MOD 函数返回结果例子
果 d 零返回 n
果 n 零 n d返回 n
果 n 零 n d返回 n
文提情况中利 n 绝值 d 绝值计算余数果 n 0 MOD
返回余数负数果 n 零MOD 返回余数正数
例子:
SELECT MOD (15 4) modulus FROM DUMMY
modulus
3
SELECT MOD (15 4) modulus FROM DUMMY
modulus
3 SAP HANA 数库– SQL 参考手册
65
POWER
语法:
POWER (b e)
描述:
计算 b 底e 指数值
例子:
SELECT POWER (2 10) power FROM DUMMY
power
10240
ROUND
语法:
ROUND (n [ pos])
描述:
返回参数 n 数点 pos 位置值
例子:
SELECT ROUND (1616 1) round FROM DUMMY
round
162
SELECT ROUND (1616 1) round FROM DUMMY
round
20
SIGN
语法:
SIGN (n)
描述:
返回 n 符号(正负)果 n 正返回 1n 负返回1n 0 返回 0
例子: SAP HANA 数库– SQL 参考手册
66
SELECT SIGN (15) sign FROM DUMMY
sign
1
SIN
语法:
SIN (n)
描述:
返回参数 n 正弦值弧度单位
例子:
SELECT SIN ( 31415926535897932) sine FROM DUMMY
sine
10
SINH
语法:
SINH (n)
描述:
返回 n 双曲正弦值弧度单位
例子:
SELECT SINH (00) sinh FROM DUMMY
sinh
00
SQRT
语法:
SQRT (n)
描述:
返回 n 方根
例子: SAP HANA 数库– SQL 参考手册
67
SELECT SQRT (2) sqrt FROM DUMMY
sqrt
14142135623730951
TAN
语法:
TAN (n)
描述:
返回 n 正切值弧度单位
例子:
SELECT TAN (00) tan FROM DUMMY
tan
00
TANH
语法:
TANH (n)
描述:
返回 n 双曲正切值弧度单位
例子:
SELECT TANH (10) tanh FROM DUMMY
tanh
07615941559557649
UMINUS
语法:
UMINUS (n)
描述:
返回 n 负值
例子: SAP HANA 数库– SQL 参考手册
68
SELECT UMINUS(765) uminus FROM DUMMY
uminus
765
字符串函数
ASCII
语法:
ASCII(c)
描述:
返回字符串 c 中第字节 ASCII 值
SELECT ASCII('Ant') ascii FROM DUMMY
ascii
65
CHAR
语法:
CHAR (n)
描述:
返回 ASCII 值数字 n 字符
例子:
SELECT CHAR (65) || CHAR (110) || CHAR (116) character FROM DUMMY
character
Ant
CONCAT
语法:
CONCAT (str1 str2)
描述:
返回位 str1 str2 联合组成字符串级联操作符(||)该函数作相
例子: SAP HANA 数库– SQL 参考手册
69
SELECT CONCAT ('C' 'at') concat FROM DUMMY
concat
Cat
LCASE
语法:
LCASE(str)
描述:
字符串 str 中字符转换写
注意:LCASE 函数作 LOWER 函数相
例子:
SELECT LCASE ('TesT') lcase FROM DUMMY
lcase
test
LEFT
语法:
LEFT (str n)
描述:
返回字符串 str 开头 n 字符位字符
例子:
SELECT LEFT ('Hello' 3) left FROM DUMMY
left
Hel
LENGTH
语法:
LENGTH(str)
描述:
返回字符串 str 中字符数象(LOB)类型该函数返回象字节长度 SAP HANA 数库– SQL 参考手册
70
例子:
SELECT LENGTH ('length in char') length FROM DUMMY
length
14
LOCATE
语法:
LOCATE (haystack needle)
描述:
返回字符串 haystack 中子字符串 needle 位置果未找返回 0
例子:
SELECT LOCATE ('length in char' 'char') locate FROM DUMMY
Locate
11
SELECT LOCATE ('length in char' 'length') locate FROM DUMMY
Locate
1
SELECT LOCATE ('length in char' 'zchar') locate FROM DUMMY
Locate
0
LOWER
语法:
LOWER (str)
描述:
字符串 str 中字符转换写
注意:LOWER 函数作 LCASE 相
例子:
SELECT LOWER ('AnT') lower FROM DUMMY SAP HANA 数库– SQL 参考手册
71
lower
ant
LPAD
语法:
LPAD (str n [ pattern])
描述:
左边开始字符串 str 空格进行填充达 n 指定长度果指定 pattern 参数字符
串 str 序填充直满足 n 指定长度
例子:
SELECT LPAD ('end' 15 '12345') lpad FROM DUMMY
lpad
123451234512end
LTRIM
语法:
LTRIM (str [ remove_set])
描述:
返回字符串 str 截取前导空格值果定义 remove_setLTRIM 起始位置移字符串
str 包含该集合中字符该程持续达 remove_set 中字符
注意:remove_set 视字符集合非搜索字符
例子:
SELECT LTRIM ('babababAabend''ab') ltrim FROM DUMMY
ltrim
Aabend
NCHAR
语法:
NCHAR (n)
描述:
返回整数 n 表示 Unicode 字符 SAP HANA 数库– SQL 参考手册
72
例子:
SELECT NCHAR (65) nchar FROM DUMMY
nchar
A
REPLACE
语法:
REPLACE (original_string search_string replace_string)
描述:
搜索 original_string 出现 search_string replace_string 换
果 original_string 空 返回值空
果 original_string 中两重叠子字符串 search_string 匹配第会换
果 original_string 未出现 search_string返回未修改 original_string
果 original_stringsearch_string 者 replace_string NULL返回值 NULL
例子:
SELECT REPLACE ('DOWNGRADE DOWNWARD''DOWN' 'UP') replace FROM DUMMY
replace
UPGRADE UPWARD
RIGHT
语法:
RIGHT(str n)
描述:
返回字符串 str 中右边 n 字符字节
例子:
SELECT RIGHT('HI0123456789' 3) right FROM DUMMY
right
789
RPAD
语法:
RPAD (str n [ pattern]) SAP HANA 数库– SQL 参考手册
73
描述:
尾部开始字符串 str 空格进行填充达 n 指定长度果指定 pattern 参数字符
串 str 序填充直满足 n 指定长度
例子:
SELECT RPAD ('end' 15 '12345') right padded FROM DUMMY
right padded
end123451234512
RTRIM
语法:
RTRIM (str [remove_set ])
描述:
返回字符串 str 截取置空格值果定义 remove_setRTRIM 尾部位置移字符
串 str 包含该集合中字符该程持续达 remove_set 中字符
注意:remove_set 视字符集合非搜索字符
例子:
SELECT RTRIM ('endabAabbabab''ab') rtrim FROM DUMMY
rtrim
endabA
SUBSTR_AFTER
语法:
SUBSTR_AFTER (str pattern)
描述:
返回 str 中位 pattern 第次出现位置子字符串
果 str 包含 pattern 子字符串返回空字符串
果 pattern 空字符串返回 str
果 str 者 pattern NULL返回 NULL
例子:
SELECT SUBSTR_AFTER ('Hello My Friend''My ') substr after FROM DUMMY SAP HANA 数库– SQL 参考手册
74
substr after
Friend
SUBSTR_BEFORE
语法:
SUBSTR_BEFORE (str pattern)
描述:
返回 str 中位 pattern 第次出现位置前子字符串

果 str 包含 pattern 子字符串返回空字符串
果 pattern 空字符串返回 str
果 str 者 pattern NULL返回 NULL
例子:
SELECT SUBSTR_BEFORE ('Hello My Friend''My') substr before FROM DUMMY
substr before
Hello
SUBSTRING
语法:
SUBSTRING (str start_position [ string_length])
描述:
返回字符串 str start_position 开始子字符串SUBSTRING 返回 start_position 起剩余部
分字符者作选返回 string_length 参数设置字符数
果 start_position 0视 1
果 string_length 1返回空字符串
例子:
SELECT SUBSTRING ('1234567890'42) substring FROM DUMMY
substring
45
TRIM
语法: SAP HANA 数库– SQL 参考手册
75
TRIM ([[LEADING | TRAILING | BOTH] trim_char FROM] str )
描述:
返回移前导置空格字符串 str截断操作起始(LEADING)结尾(TRAILING)者两端
(BOTH)执行
果 str 者 trim_char 空返回 NULL
果没指定选项TRIM 移字符串 str 中两端子字符串 trim_char
果没指定 trim_char单空格
例子:
SELECT TRIM ('a' FROM 'aaa123456789aa') trim both FROM DUMMY
trim both
123456789
SELECT TRIM (LEADING 'a' FROM 'aaa123456789aa') trim leading FROM DUMMY
trim leading
123456789aa
UCASE
语法:
UCASE (str)
描述:
字符串 str 中字符转换写
注意:UCASE 函数作 UPPER 函数相
例子:
SELECT UCASE ('Ant') ucase FROM DUMMY
ucase
ANT
UNICODE
语法:
UNICODE(c)
描述: SAP HANA 数库– SQL 参考手册
76
返回字符串中首字母 UnIcode 字符码数字果首字母效编码返回 NULL
例子:
SELECT UNICODE ('#') unicode FROM DUMMY
unicode
35
UPPER
语法:
UPPER (str)
描述:
字符串 str 中字符转换写
注意:UPPER 函数作 UCASE 相
例子:
SELECT UPPER ('Ant') uppercase FROM DUMMY
uppercase
ANT
杂项函数
COALESCE
语法:
COALESCE (expression_list)
描述:
返回 list 中非 NULL 表达式Expression_list 中必须包含少两表达式表达式
较果参数 NULL结果 NULL
例子:
CREATE TABLE coalesce_example (ID INT PRIMARY KEY A REAL B REAL)
INSERT INTO coalesce_example VALUES(1 100 80)
INSERT INTO coalesce_example VALUES(2 NULL 63)
INSERT INTO coalesce_example VALUES(3 NULL NULL) SAP HANA 数库– SQL 参考手册
77
SELECT id a b COALESCE (a b*11 500) coalesce FROM coalesce_example

1 1000 800 1000
2 NULL 630 6930000305175781
3 NULL NULL 500
CURRENT_CONNECTION
语法:
CURRENT_CONNECTION
描述:
返回前连接 ID
例子:
SELECT CURRENT_CONNECTION current connection FROM DUMMY
current connection
2
CURRENCT_SCHEMA
语法:
CURRENT_SCHEMA
描述:
返回前数集合名
例子:
SELECT CURRENT_SCHEMA current schema FROM DUMMY
current schema
SYSTEM
CURRENT_USER
语法:
CURRENT_USER SAP HANA 数库– SQL 参考手册
78
描述:
返回前语句文户名前授权堆栈顶部户名
例子:
example showing basic function operation using SYSTEM user
SELECT CURRENT_USER current user FROM DUMMY
current user
SYSTEM
definermode procedure declared by USER_A
CREATE PROCEDURE USER_APROC1 LANGUAGE SQLSCRIPT SQL SECURITY DEFINER AS
BEGIN
SELECT CURRENT_USER current user FROM DUMMY
END
USER_B executing USER_APROC1
CALL USER_APROC1
current user
USER_A
invokermode procedure declared by USER_A
CREATE PROCEDURE USER_APROC2 LANGUAGE SQLSCRIPT SQL SECURITY INVOKER AS
BEGIN
SELECT CURRENT_USER current user FROM DUMMY
END
USER_B is executing USER_APROC
CALL USER_APROC2
current user
USER_B
GROUPING_ID
语法:
GROUPING_ID(column_name_list)
描述: SAP HANA 数库– SQL 参考手册
79
GROUPING_ID 函数 GROUPING SETS 返回单结果集中级聚集GROUPING_ID 返回
整数识行组集合GROUPING_ID 列必须 GROUPING SETS 中元素
通生成位矢量 GROUPING SETS 转换十进制数位矢量视作二进制数分配
GROUPING_ID组成位矢量0 分配 GROUPING SETS 指定列否根 GROUPING
SETS 出现序分配 1通位矢量作二进制数处理该函数返回整型值作输出
例子:
SELECT customer year product SUM(sales)
GROUPING_ID(customer year product)
FROM guided_navi_tab
GROUP BY GROUPING SETS (
(customer year product)
(customer year)
(customer product)
(year product)
(customer)
(year)
(product))
CUSTOMER YEAR PRODUCT SUM(SALES) GROUPING_ID(CUSTOMERYEARPRODUCT)
1 C1 2009 P1 100 0
2 C1 2010 P1 50 0
3 C2 2009 P1 200 0
4 C2 2010 P1 100 0
5 C1 2009 P2 200 0
6 C1 2010 P2 150 0
7 C2 2009 P2 300 0
8 C2 2010 P2 150 0
9 C1 2009 a 300 1
10 C1 2010 a 200 1
11 C2 2009 a 500 1
12 C2 2010 a 250 1
13 C1 a P1 150 2
14 C2 a P1 300 2
15 C1 a P2 350 2
16 C2 a P2 450 2
17 a 2009 P1 300 4
18 a 2010 P1 150 4 SAP HANA 数库– SQL 参考手册
80
19 a 2009 P2 500 4
20 a 2010 P2 300 4
21 C1 a a 500 3
22 C2 a a 750 3
23 a 2009 a 800 5
24 a 2010 a 450 5
25 a a P1 450 6
26 a a P2 800 6
IFNULL
语法:
IFNULL (expression1 expression2)
描述:
返回输入中第 NULL 表达式
果 expression1 NULL返回 expression1
果 expression2 NULL返回 expression2
果输入表达式 NULL返回 NULL
例子:
SELECT IFNULL ('diff' 'same') ifnull FROM DUMMY
ifnull
diff
SELECT IFNULL (NULL 'same') ifnull FROM DUMMY
ifnull
same
SELECT IFNULL (NULL NULL) ifnull FROM DUMMY
ifnull
NULL
MAP
语法:
MAP (expression search1 result1 [ search2 result2] [ default_result]) SAP HANA 数库– SQL 参考手册
81
描述:
搜索集合中搜索 expression返回相应结果
果未找 expression 值定义 default_result MAP 返回 default_result
果未找 expression 值未定义 default_resultMAP 返回 NULL
注意:
搜索值相应结果总搜索结果方式提供
例子:
SELECT MAP(2 0 'Zero' 1 'One' 2 'Two' 3 'Three' 'Default') map FROM DUMMY
map
Two
SELECT MAP(99 0 'Zero' 1 'One' 2 'Two' 3 'Three' 'Default') map FROM DUMMY
map
Default
SELECT MAP(99 0 'Zero' 1 'One' 2 'Two' 3 'Three') map FROM DUMMY
map
NULL
NULLIF
语法:
NULLIF (expression1 expression2)
描述:
NULLIF 较两输入表达式值果第表达式等第二NULLIF 返回 NULL
果 expression1 等 expression2NULLIF 返回 expression1
果 expression2 NULLNULLIF 返回 expression1
例子: SAP HANA 数库– SQL 参考手册
82
SELECT NULLIF ('diff' 'same') nullif FROM DUMMY
nullif
diff
SELECT NULLIF('same' 'same') nullif FROM DUMMY
nullif
NULL
SESSION_CONTEXT
语法:
SESSION_CONTEXT(session_variable)
描述:
返回分配前户 session_variable 值
访问 session_variable 预定义者户定义预定义会话变量通客户端设置
'APPLICATION' 'APPLICATIONUSER''TRACEPROFILE'
会话变量定义者修改通命令 SET [SESSION] UNSET
[SESSION] 取消设置
SESSION_CONTEXT 返回长度 512 字符 NVARCHAR 类型
例子:
读取会话变量:
SELECT SESSION_CONTEXT('APPLICATION') session context FROM DUMMY
session context
HDBStudio
SESSION_USER
语法:
SESSION_USER
描述: SAP HANA 数库– SQL 参考手册
83
返回前会话户名
例子:
example showing basic function operation using SYSTEM user
SELECT SESSION_USER session user FROM DUMMY
session user
SYSTEM
definermode procedure declared by USER_A
CREATE PROCEDURE USER_APROC1 LANGUAGE SQLSCRIPT SQL SECURITY DEFINER AS
BEGIN
SELECT SESSION_USER session user FROM DUMMY
END
USER_B is executing USER_APROC
CALL USER_APROC1
session user
USER_B
invokermode procedure declared by USER_A
CREATE PROCEDURE USER_APROC2 LANGUAGE SQLSCRIPT SQL SECURITY INVOKER AS
BEGIN
SELECT SESSION_USER session user FROM DUMMY
END
USER_B is executing USER_APROC
CALL USER_APROC2
session user
USER_B
SYSUUID
语法:
SYSUUID
描述:
返回 SAP HANA 连接实例 SYSUUID
例子: SAP HANA 数库– SQL 参考手册
84
SELECT SYSUUID FROM DUMMY
SYSUUID
4DE3CD576C79511BE10000000A3C2220





























SAP HANA 数库– SQL 参考手册
85
SQL 语句
章描述 SAP HANA 数库支持 SQL 语句
 Schema Definition and Manipulation Statements
 Data Manipulation Statements
 System Management Statements
 Session Management Statements
 Transaction Management Statements
 Access Control Statements
 Data Import Export Statements
集合定义操语句
ALTER AUDIT POLICY
语法:
ALTER AUDIT POLICY
语法元素:

改变审计策略名:
ENABLE | DISABLE
Audit_mode 启禁审计策略
ENABLE
启审计策略
DISABLE
禁审计策略
描述:
ALTER AUDIT POLICY 语句启禁审计策略必须定义已存审计策略

拥系统权限 AUDIT ADMIN 数库户允许改变审计策略拥该权限数库户
修改意审计策略否该户创建 SAP HANA 数库– SQL 参考手册
86
新建审计策略默认禁会发生审计必须启动该审计策略执行审计
审计策略视需禁启
配置参数:
审计配置参数存储文件 globalini审计配置部分:
global_auditing_state ( 'true' 'false' )
启动审计策略数量少审计会配置参数 global_auditing_state 设置 true 时启默
认值 false
default_audit_trail_type ( 'SYSLOGPROTOCOL' 'CSVTEXTFILE' )
指定存储审计结果
SYSLOGPROTOCOL:系统 syslog
CSVTEXTFILE:审计信息值逗号分隔存储文文件中
default_audit_trail_path
指定 CSVTEXTFILE 存储文件路径
果户拥需系统权限参数监控视图 M_INIFILE_CONTENTS 中选择显
示设置情况见
系统表监控视图:
AUDIT_POLICY:显示审计策略状态
M_INIFILE_CONTENTS:显示数库系统配置参数
拥系统权限 CATALOG READ DATA ADMIN INIFILE ADMIN 户查
M_INIFILE_CONTENTS 视图中容户空
例子:
该例子中需先利语句创建名 priv_audit 审计权限:
CREATE AUDIT POLICY priv_audit AUDITING SUCCESSFUL GRANT PRIVILEGE REVOKE PRIVILEGE GRANT
ROLE REVOKE ROLE LEVEL CRITICAL SAP HANA 数库– SQL 参考手册
87
现启审计策略:
ALTER AUDIT POLICY priv_audit ENABLE
禁该审计策略:
ALTER AUDIT POLICY priv_audit DISABLE
ALTER FULLTEXT INDEX
语法:
ALTER FULLTEXT INDEX
语法元素:

修改全文索引标识符:
| QUEUE
定义全文索引参数者全文索引队列状态否应该修改者异步显式全文索引

[ ]
修改全文索引参数列表:
FUZZY SEARCH INDEX
| PHRASE INDEX RATIO
|
ON | OFF
FUZZY SEARCH INDEX
模糊搜索索引
PHRASE INDEX RATIO
定义短语索引率

定义短语索引率百分值必须 00 10 间 SAP HANA 数库– SQL 参考手册
88
SYNC[HRONOUS]
改变全文索引步模式
ASYNC[HRONOUS]
改变全文索引异步模式
EVERY MINUTES
| AFTER DOCUMENTS
| EVERY MINUTES OR AFTER
DOCUMENTS
异步索引时利 flush_queue_elem 定义更新全文索引时间
FLUSH | SUSPEND | ACTIVATE
FLUSH
利正处理队列文件更新全文索引
SUSPEND
暂停全文索引处理队列
ACTIVATE
激活全文索引处理队列
描述:
该命令修改全文索引参数者索引处理队列状态队列激活全文索引
异步方式工作机制例插入操作阻塞直文件处理完
ALTER FULLTEXT INDEX 语句修改全文索引参数
ALTER FULLTEXT INDEX 语句修改异步全文索引处理队列状

例子:
ALTER FULLTEXT INDEX i1 PHRASE INDEX RATIO 03 FUZZY SEARCH INDEX ON
述例子中全文索引’i1’短文索引率设 30启模糊搜索索引 SAP HANA 数库– SQL 参考手册
89
ALTER FULLTEXT INDEX i2 SUSPEND QUEUE
暂停全文索引’i2’队列
ALTER FULLTEXT INDEX i2 FLUSH QUEUE
利队列中已处理文件更新全文索引’i2’
ALTER INDEX
ALTER INDEX REBUILD
语法元素:

定义重建索引名
描述:
ALTER INDEX 语句重建索引
例子:
例子重建索引 idx
ALTER INDEX idx REBUILD
ALTER SEQUENCE
语法:
ALTER SEQUENCE []
[RESET BY ]
语法元素:

修改序列名


| SAP HANA 数库– SQL 参考手册
90
RESTART WITH
INCREMENT BY
| MAXVALUE
| NO MAXVALUE
| MINVALUE
| NO MINVALUE
| CYCLE
| NO CYCLE
RESTART WITH
序列起始值果没指定 RESTART WITH 子句值前序列值

序列生成器提供第值 0 4611686018427387903 间整数
INCREMENT BY
序列增量值

利整数增加者减少序列值
MAXVALUE
定义序列生成值

正整数定义序列生成数值必须 0 4611686018427387903 间
NO MAXVALUE
NO MAXVALUE 指令递增序列值 4611686018427387903递减序列值
1
MINVALUE
定义序列生成值

正整数定义序列生成数值必须 0 4611686018427387903 间 SAP HANA 数库– SQL 参考手册
91
NO MINVALUE
NO MINVALUE 指令递增序列值 1递减序列值
4611686018427387903
CYCLE
CYCLE 指令序列达值值会重新开始
NO CYCLE
NO CYCLE 指令序列达值值会重新开始

系统重启期间系统动执行 RESET BY 语句 RESET BY 子查询确定值重启序列
关子查询详情请参阅 Subquery
描述:
ALTER SEQUENCE 语句修改序列生成器参数
例子:
面例子中序列 seq 起始序列值改 2
ALTER SEQUENCE seq RESTART WITH 2
面例子中序列 seq 值改 100没值
ALTER SEQUENCE seq MAXVALUE 100 NO MINVALUE
面例子中序列 seq 增量改 2限制no cycle
ALTER SEQUENCE seq INCREMENT BY 2 NO CYCLE
面例子中首先创建表 r列 a然序列 seq resetby 子查询修改列 a 包
含值
CREATE TABLE r (a INT)
ALTER SEQUENCE seq RESET BY SELECT MAX(a) FROM r
ALTER TABLE SAP HANA 数库– SQL 参考手册
92
语法:
ALTER TABLE
{

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
语法元素:
[]
ADD ( []
)
DROP ( )
ALTER ( []
)
[]
[] [DEFAULT ] [GENERATED ALWAYS AS ]
NULL
| NOT NULL
| UNIQUE [BTREE | CPBTREE]
| PRIMARY KEY [BTREE | CPBTREE]
SAP HANA 数库– SQL 参考手册
93
DATE | TIME | SECONDDATE | TIMESTAMP | TINYINT | SMALLINT | INTEGER | BIGINT |
SMALLDECIMAL | DECIMAL | REAL | DOUBLE| VARCHAR | NVARCHAR | ALPHANUM | SHORTTEXT |
VARBINARY | BLOB| CLOB | NCLOB | TEXT
CS_ALPHANUM | CS_INT | CS_FIXED | CS_FLOAT | CS_DOUBLE |
CS_DECIMAL_FLOAT | CS_FIXED(ps s) | CS_SDFLOAT
| CS_STRING | CS_UNITEDECFLOAT | CS_DATE | CS_TIME
| CS_FIXEDSTRING | CS_RAW | CS_DAYDATE | CS_SECONDTIME | CS_LONGDATE | CS_SECONDDATE
DDIC_ACCP | DDIC_ALNM | DDIC_CHAR | DDIC_CDAY | DDIC_CLNT | DDIC_CUKY
| DDIC_CURR | DDIC_D16D | DDIC_D34D | DDIC_D16R | DDIC_D34R | DDIC_D16S | DDIC_D34S
| DDIC_DATS | DDIC_DAY | DDIC_DEC | DDIC_FLTP | DDIC_GUID
| DDIC_INT1 | DDIC_INT2 | DDIC_INT4 | DDIC_INT8 | DDIC_LANG | DDIC_LCHR | DDIC_MIN
|DDIC_MON| DDIC_LRAW | DDIC_NUMC | DDIC_PREC | DDIC_QUAN | DDIC_RAW
| DDIC_RSTR | DDIC_SEC | DDIC_SRST | DDIC_SSTR | DDIC_STRG | DDIC_STXT | DDIC_TIMS| DDIC_UNIT
| DDIC_UTCM | DDIC_UTCL | DDIC_UTCS | DDIC_TEXT | DDIC_VARC | DDIC_WEEK
NULL | | | igned_numeric_literal>
[]
+ |
|
[ []]|


E


[]

DEFAULT
DEFAULT 定义 INSERT 语句没列提供值情况默认分配值
供数类型 DATE TIME SECONDDATE TIMESTAMP TINYINT SMALLINT INTEGER BIGINT
SMALLDECIMAL DECIMAL REAL DOUBLE VARCHAR NVARCHAR ALPHANUM SHORTTEXT VARBINARY
BLOB CLOB NCLOB and TEXT SAP HANA 数库– SQL 参考手册
94
供列存储数类型 CS_ALPHANUM CS_INT CS_FIXED CS_FLOAT
CS_DOUBLECS_DECIMAL_FLOAT CS_FIXED(pss) CS_SDFLOAT CS_STRING
CS_UNITEDECFLOATCS_DATE CS_TIMECS_FIXEDSTRING CS_RAW CS_DAYDATE CS_SECONDTIME
CS_LONGDATE and CS_SECONDDATE
供 DDIC 数类型 DDIC_ACCP DDIC_ALNM DDIC_CHAR DDIC_CDAY DDIC_CLNT
DDIC_CUKYDDIC_CURR DDIC_D16D DDIC_D34D DDIC_D16R DDIC_D34R DDIC_D16S DDIC_D34S
DDIC_DATSDDIC_DAY DDIC_DEC DDIC_FLTP DDIC_GUID DDIC_INT1 DDIC_INT2 DDIC_INT4
DDIC_INT8DDIC_LANG DDIC_LCHR DDIC_MIN DDIC_MON DDIC_LRAW DDIC_NUMC DDIC_PREC
DDIC_QUANDDIC_RAW DDIC_RSTR DDIC_SEC DDIC_SRST DDIC_SSTR DDIC_STRG
DDIC_STXTDDIC_TIMSDDIC_UNIT DDIC_UTCM DDIC_UTCL DDIC_UTCS DDIC_TEXT DDIC_VARC
DDIC_WEEK
GENERATED ALWAYS AS
指定运行时生成列值表达式
NULL
| NOT NULL
| UNIQUE [BTREE | CPBTREE]
| PRIMARY KEY [BTREE | CPBTREE]
NULL | NOT NULL
NOT NULL 禁止列值 NULL
果指定 NULL认常量表示列含空值默认 NULL
UNIQUE
指定唯键列
唯复合键指定列作唯键 unique 约束行列中具相

PRIMARY KEY
键约束 NOT NULL 约束 UNIQUE 约束组合禁止行列中具相值
BTREE | CPBTREE
指定索引类型列数类型字符串二进制字符串十进制数者约束组合键
非唯键默认索引类型 CPBTREE否 BTREE
B+树索引必须 BTREE 关键字 CPB+树索引需 CPBTREE 关键字
B+树维护排序数进行高效插入删搜索记录树 SAP HANA 数库– SQL 参考手册
95
CPB+树表示压缩前缀 B+树基 pkBtree 树CPB+树非常索引部分
键索引节点全部键部分更键CPB+树展现出 B+树更性
果省略索引类型SAP HANA 数库考虑列数类型选择合适索引
ALTER
增加列长度做列式存储中尝试修改列定义会返回错误数
库中没做检查错误发生选择列时数符合新定义数类型ALTER 未
遵数类型转换规
增加 NOT NULL 约束已存列允许果
表空者
表数时定义默认值
ADD [CONSTRAINT ] PRIMARY KEY
( )

ADD PRIMARY KEY
增加列键
PRIMARY KEY
键约束 NOT NULL 约束 UNIQUE 约束组合禁止行列中具相值
CONSTRAINT
指定约束名
DROP PRIMARY KEY
DROP PRIMARY KEY
删键约束
PRELOAD ALL | PRELOAD ( ) | PRELOAD NONE
PRELOAD
设置移定表列预载标记PRELOAD ALL 表中列设置预载标记PRELOAD
( )指定列设置标记PRELOAD NONE 移列标记结果表
索引服务器启动动加载存中预载标记前状态系统表 TABLES列 PRELOAD 中
见值('FULL' 'PARTIALLY' 'NO')系统表 TABLE_COLUMNS列 PRELOAD值('TRUE'
'FALSE')
[ALTER TYPE] {ROW [THREADS ] | COLUMN
[THREADS [BATCH ]]} SAP HANA 数库– SQL 参考手册
96
ALTER TYPE ROW | COLUMN
该命令表存储
行转换列列转换行
THREADS
指定进行表转换行线程数线程数目佳值应设置 CPU 核数量
Default:默认值 param_sql_table_conversion_parallelism ndexserverini 文件中定义 CPU
核数
BATCH
指定批插入行数默认值佳值 2000000插入表操作记录插入立
提交减少存消耗BATCH 选项表 行转换列时然 2000000
批导致高存消耗建议修改该值
通复制现表中列数现表创建存储类型新表该命令
表行转换列列转换行果源表行式存储新建表列式存储
MOVE [PARTITION ] TO [LOCATION ] [PHYSICAL] |
MOVE [PARTITION ] PHYSICAL
MOVE 表移动分布式环境中位置端口号部索引服务器端口号3xx03
果分区表通指定选分区号移动部分移动分区表时没指定
分区号会导致错误
PHYSICAL 关键字适列式存储表行式存储表总物理移动
果指定选关键字 PHYSICAL持久存储立移动目标机否举创建新机
里面持久层链接指旧机持久层该链接果没 TO部分次合者移
动中删
PHYSICAL 移动操作没指定 TO 时移次移动中然存持久层链接
LOCATION 仅支持兼容
ADD
PARTITION < VALUES <
| PARTITION
| PARTITION OTHERS
|
|
| SAP HANA 数库– SQL 参考手册
97
ADD PARTITION
分区表添加分区 RANGE HASH RANGE ROUNDROBIN RANGE 关键字添加分区
张范围分区表时果需话余分区进行重新分区
DROP
PARTITION < VALUES <
| PARTITION
| PARTITION OTHERS
|
|
|
DROP PARTITION
删根 RANGE HASH RANGE ROUNDROBIN RANGE 分区表分区
PARTITION BY [ | ]
| PARTITION BY
| PARTITION BY []
HASH ([ ]) PARTITIONS { |
GET_NUM_SERVERS() }
RANGE ( ) ( )
ROUNDROBIN PARTITIONS { |GET_NUM_SERVERS()}
{ | [] } [ PARTITION OTHERS]
PARTITION < VALUES <
PARTITION VALUE
| YEAR() | MONTH()
PARTITION BY
RANGE HASH RANGE ROUNDROBIN RANGE 表进行分区关表分区居请参见 CREATE
TABLE
MERGE PARTITIONS
MERGE PARTITIONS
合分区表部分非分区表
DISABLE PERSISTENT MERGE
DISABLE PERSISTENT MERGE
指导合理器定表存进行合非持久合
ENABLE PERSISTENT MERGE
ENABLE PERSISTENT MERGE
指导合理器定表持久合 SAP HANA 数库– SQL 参考手册
98
ENABLE DELTA LOG
启动表日志记录启必须执行保存点确保数保存必须执行
数备份否恢复数
DISABLE DELTA LOG
DISABLE DELTA LOG
禁表日志记录果禁会记录该表日志完成保存点该表修改会写
数域会导致索引服务器终止时提交事务丢失
仅初次加载中该命令
ENABLE AUTOMERGE
指导合理器处理表
DISABLE AUTOMERGE
DISABLE AUTOMERGE
指导合理器忽略该表
例子:
表 t 已创建列 b 默认值设 10
CREATE TABLE t (a INT b INT)
ALTER TABLE t ALTER (b INT DEFAULT 10)
列 c 添加表 t
ALTER TABLE t ADD (c NVARCHAR(10) DEFAULT 'NCHAR')
创建表 t 键约束 prim_key
ALTER TABLE t ADD CONSTRAINT prim_key PRIMARY KEY (a b)
表 t 类型转换列式 (COLUMN)
ALTER TABLE t COLUMN
设置列 b c 预载标记
ALTER TABLE t PRELOAD (b c)
表 t RANGE 分区添加分区
ALTER TABLE t PARTITION BY RANGE (a) (PARTITION VALUE 1 PARTITION OTHERS)
ALTER TABLE t ADD PARTITION 2 < VALUES < 10 SAP HANA 数库– SQL 参考手册
99
表 t 会话类型改 HISTORY
ALTER TABLE t CREATE HISTORY
禁表 t 日志记录
ALTER TABLE t DISABLE DELTA LOG
CREATE AUDIT POLICY
语法:
CREATE AUDIT POLICY AUDITING
LEVEL
语法元素:
SUCCESSFUL | UNSUCCESSFUL | ALL
[]

GRANT PRIVILEGE | REVOKE PRIVILEGE
| GRANT STRUCTURED PRIVILEGE | REVOKE STRUCTURED PRIVILEGE
| GRANT ROLE | REVOKE ROLE
| GRANT ANY | REVOKE ANY
| CREATE USER | DROP USER
| CREATE ROLE | DROP ROLE
| ENABLE AUDIT POLICY | DISABLE AUDIT POLICY
| CREATE STRUCTURED PRIVILEGE
| DROP STRUCTURED PRIVILEGE
| ALTER STRUCTURED PRIVILEGE
| CONNECT
| SYSTEM CONFIGURATION CHANGE
| SET SYSTEM LICENSE
| UNSET SYSTEM LICENSE

EMERGENCY
| ALERT
| CRITICAL
| WARNING
| INFO
描述: SAP HANA 数库– SQL 参考手册
100
CREATE AUDIT POLICY 语句创建新审计策略该审计策略稍启动导致指定审计活
动发生审计
拥系统权限 AUDIT ADMIN 户新建审计策略
指定审计策略名必须已审计策略名
审计策略定义审计审计活动现审计策略需激活进行审计
定义成功成功执行指定审计活动进行审核
审计活动供分组里组审计活动组合成审计策
略组审计行动组合成审计策略
GRANT PRIVILEGE 1 审计授予户角色权限
REVOKE PRIVILEGE 1 审计撤销户角色权限
GRANT STRUCTURED PRIVILEGE 1 审计授予户结构分析权限
REVOKE STRUCTURED PRIVILEGE 1 审计撤销户结构分析权限
GRANT ROLE 1 审计授予户角色角色
REVOKE ROLE 1 审计撤销户角色角色
GRANT ANY 1 审计授予户角色权限结构分析权限角色
REVOKE ANY 1 审计撤销户角色权限结构分析权限角色
CREATE USER 2 审计户创建
DROP USER 2 审计户删
CREATE ROLE 2 审计角色创建
DROP ROLE 2 审计角色删
CONNECT 3 审计连接数库户
SYSTEM CONFIGURATION CHANGE 4 审计系统配置 更改(eg INIFILE)
ENABLE AUDIT POLICY 5 审计审核策略激活
DISABLE AUDIT POLICY 5 审计审核策略停
CREATE STRUCTURED PRIVILEGE 6 审计结构化分析权限创建
DROP STRUCTURED PRIVILEGE 6 审计结构化分析权限删 SAP HANA 数库– SQL 参考手册
101
ALTER STRUCTURED PRIVILEGE 6 审计结构化分析权限更改
SET SYSTEM LICENSE 7 审计许证安装
UNSET SYSTEM LICENSE 7 审计许证删
审计分配分配审计级值重性递减:
EMERGENCY ALERT CRITICAL WARNING INFO
审计活动发生审计策略必须建立启动global_auditing_state(见文)必须设置
true
配置参数:
目前审计配置参数存储 globalini部分审计配置:
global_auditing_state ( 'true' 'false' )激活关闭审计少审计策略启动默认
false代表没审计会发生
default_audit_trail_type ( 'SYSLOGPROTOCOL' 'CSVTEXTFILE' )定义存储审计结果
SYSLOGPROTOCOL 默认值
CSVTEXTFILE 应测试目
default_audit_trail_path 指定 存储文件位置CSVTEXTFILE 已选定情况
配置参数视图 M_INIFILE_CONTENTS 中选择果前户具样做需
权限目前参数显式设置见意味着新安装数库实例

系统监控视图
AUDIT_POLICY:显式审计策略状态
M_INIFILE_CONTENTS:显示审计关配置参数
数库户具 CATALOG READ DATA ADMIN INIFILE ADMIN 权限视图
M_INIFILE_CONTENTS 查意信息户该视图空
例子
新建名 priv_audit 审计策略审计关成功授予撤销权限角色命令该审计策略
中等审计级 CRITICAL
该策略必须显式启动(见 alter_audit_policy)审计策略审计发生
CREATE AUDIT POLICY priv_audit AUDITING SUCCESSFUL GRANT PRIVILEGE REVOKE PRIVILEGE GRANT
ROLE REVOKE ROLE LEVEL CRITICAL
CREATE FULLTEXT INDEX SAP HANA 数库– SQL 参考手册
102
语法:
CREATE FULLTEXT INDEX ON '(' ')' []
定义全文索引名:
[ ]
LANGUAGE COLUMN
| LANGUAGE DETECTION '(' ')'
| MIME TYPE COLUMN
|
| FUZZY SEARCH INDEX
| PHRASE INDEX RATIO
| CONFIGURATION
| SEARCH ONLY
| FAST PREPROCESS
ON | OFF
LANGUAGE COLUMN
指定文件语言列
LANGUAGE DETECTION
语言检测设置语言集合
MIME TYPE COLUMN
指定文件 mimetype 列
FUZZY SEARCH INDEX
指定否模糊搜索
PHRASE INDEX RATIO
指定短语索引率百分值必须 00 10 间
CONFIGURATION
定义配置文件文分析路径
SEARCH ONLY
果设 ON存储原始文件容
FAST PREPROCESS
果设 ON快速处理例语言搜索
SYNC[HRONOUS]| ASYNC[HRONOUS] [FLUSH [QUEUE]
] SAP HANA 数库– SQL 参考手册
103
SYNC
指定否创建步全文索引
ASYNC
指定否创建异步全文索引
EVERY MINUTES
| AFTER DOCUMENTS
| EVERY MINUTES OR AFTER DOCUMENTS
指定果异步索引更新全文索引时机
描述:
CREATE FULLTEXT INDEX 语句定表创建显式全文索引
例子:
CREATE FULLTEXT INDEX i1 ON A(C) FUZZY SEARCH INDEX OFF
SYNC
LANGUAGE DETECTION ('EN''DE''KR')
面例子表 A 列 C 创建名i1’全文索引未模糊搜索索引语言检测设置语言集
合'EN''DE' 'KR'组成
CREATE INDEX
语法:
CREATE [UNIQUE] [BTREE | CPBTREE] INDEX ON
( ) [ASC | DESC]
语法元素:
[]
[ASC | DESC]
UNIQUE
创建唯性索引创建索引记录添加表中进行重复检查
BTREE | CPBTREE
选择索引类型
B+树索引必须 BTREE 关键字 CPB+树索引需 CPBTREE 关键字
B+树维护排序数进行高效插入删搜索记录树
CPB+树表示压缩前缀 B+树基 pkBtree 树CPB+树非常索引部分SAP HANA 数库– SQL 参考手册
104
键索引节点全部键部分更键CPB+树展现出 B+树更性
果省略索引类型SAP HANA 数库考虑列数类型选择合适索引
ASC | DESC
指定递增递减方式创建索引
关键字 btree 索引列次
描述:
CREATE INDEX 语句创建索引
例子:
表 t 创建递增方式表 t b 列创建 CBPTREE 索引 idx
CREATE TABLE t (a INT b NVARCHAR(10) c NVARCHAR(20))
CREATE INDEX idx ON t(b)
递增方式表 t a 列创建 CBPTREE 索引 idx递减序 b 列创建:
CREATE CPBTREE INDEX idx1 ON t(a b DESC)
递减方式表 t a 列 c 列创建 CPBTREE 索引 idx2
CREATE INDEX idx2 ON t(a c) DESC
递增序表 t b 列 c 列创建唯性 CPBTREE 索引 idx3
CREATE UNIQUE INDEX idx3 ON t(b c)
递增序表 t a 列创建唯性 BTREE 索引 idx4
CREATE UNIQUE INDEX idx4 ON t(a)
CREATE SCHEMA
语法:
CREATE SCHEMA [OWNED BY ]
语法元素:


OWNED BY
指定数集合者名字果省略前户数集合者
描述: SAP HANA 数库– SQL 参考手册
105
CREATE SCHEMA 语句前数库创建数集合
例子:
CREATE SCHEMA my_schema OWNED BY system
CREATE SEQUENCE
语法:
CREATE SEQUENCE [] [RESET BY ]
语法元素:



|
INCREMENT BY n
| MAXVALUE n
| NO MAXVALUE
| MINVALUE n
| NO MINVALUE
| CYCLE
| NO CYCLE
START WITH n
INCREMENT BY
定义分配值递增序列值量默认值 1指定负值生成递减序
列INCREMENT BY 值 0返回错误
START WITH
定义起始序列值果未定义 START WITH 子句值递增序列 MINVALUE递减序列
MAXVALUE
定义序列生成数值必须 0 4611686018427387903 间
NO MAXVALUE
NO MAXVALUE 指令递增序列值 4611686018427387903递减序列值
1
MINVALUE
定义序列生成数值必须 0 4611686018427387903 间 SAP HANA 数库– SQL 参考手册
106
NO MINVALUE
NO MINVALUE 指令递增序列值 1递减序列值
4611686018427387903
CYCLE
CYCLE 指令序列达值值会重新开始
NO CYCLE
NO CYCLE 指令序列达值值会重新开始
RESET BY
系统重启期间系统动执行 RESET BY 语句 RESET BY 子查询确定值重启序列
果未指定 RESET BY序列值持久存储数库中数库重启程中序列值
已保存序列值生成
描述:
CREATE SEQUENCE 语句创建序列
序列户生成唯整数CURRVAL 获取序列前值NEXTVAL 获取序列
值CURRVAL 会话中调 NEXTVAL 效
例子:
例子 1:
序列 seq 已创建 CURRVAL NEXTVAL 序列中读取值
CREATE SEQUENCE seq START WITH 11
NEXTVAL 返回 11
SELECT seqNEXTVAL FROM DUMMY
CURRVAL 返回 11
SELECT seqCURRVAL FROM DUMMY SAP HANA 数库– SQL 参考手册
107
例子 2:
果序列表 R A 列创建唯键数库重启通动分配列 A 值序
列创建唯键值语句:
CREATE TABLE r (a INT)
CREATE SEQUENCE s RESET BY SELECT IFNULL(MAX(a) 0) + 1 FROM r
SELECT sNEXTVAL FROM DUMMY
CREATE SYNONYM
语法:
CREATE [PUBLIC] SYNONYM FOR
语法元素:


|
|
|
描述:
CREATE SYNONYM 表视图存储程者序列创建备名称
义词函数存储程重新指表视图者序列需重写函数者

选项 PUBLIC 允许创建公义词户访问公义词拥基象合适权
限户访问基象
例子:
CREATE SYNONYM a_synonym FOR a
CREATE TABLE
语法:
CREATE [] TABLE SAP HANA 数库– SQL 参考手册
108
[ | | | ]
语法元素:
[]

关集合名字标识符说明请参阅 Identifiers
table_type
COLUMN
| ROW
| HISTORY COLUMN
| GLOBAL TEMPORARY
| LOCAL TEMPORARY
ROW COLUMN
果数访问通量元组选择少数属性应基列存储果数
访问选择记录全部属性基行存储SAP HANA 数库组合启两种
方式存储解释张表指定组织类型默认值 ROW
HISTORY COLUMN
利特殊事务会话类型称’HISTORY’创建表具会话类型’HISTORY’表支持时间旅行
历史状态数库查询执行
时间旅行方式完成:
会话级时间旅行:
SET HISTORY SESSION TO UTCTIMESTAMP
SET HISTORY SESSION TO COMMIT ID

数库会话设置回特定时间点该语句 COMMIT ID 变量接受 commitid 作参数
commitid 参数值必须存系统表 SYSTRANSACTION_HISTORY COMMIT_ID 列否抛出异
常COMMIT_ID 户定义快时户定义快通存储提交阶段
分配事务 commitid 获Commitid 通事务提交执行查询读取:
SELECT LAST_COMMIT_ID FROM M_TRANSACTIONS
WHERE CONNECTION_ID CURRENT_CONNECTION
该语句 TIMESTAMP 变量接受时间戳作参数系统部时间戳系统表
SYSTRANSACTION_HISTORYcommit_time 接定时间戳方查询SAP HANA 数库– SQL 参考手册
109
(commit_timecommit_id)准确说选择 COMMIT_TIME 等定时间戳果没
找样会抛出异常然会话 COMMIT_ID 变量确定 commitid 恢复终
止恢复会话切换前会话中必须数库连接执行明确 COMMIT ROLLBACK
语句级时间旅行:
AS OF UTCTIMESTAMP
AS OF COMMIT ID
commitid 提交时间关联需维护系统表 SYSTRANSACTION_HISTORY存储历史
表提交数事务额外信息关设置会话级时间旅行详细信息请参阅 SET HISTORY
SESSION关信息请参阅 Subquery
注意:
会话恢复时动提交必须关闭(否会抛出包含相应错误消息异常)
非历史表恢复会话中总显示前快
数查询语句(select)恢复会话中
历史表必须键
会话类型通系统表 SYSTABLES SESSION_TYPE 列检查
GLOBAL TEMPORARY
表定义全局见数前会话中见表会话结束截断
全局时表元数持久表示该元数直存直表删元数会话间享
时表中数会话特定代表全局时表者允许插入读取删数存
会话持续期间会话结束时全局时表中数会动删全局时表表中
没数删
全局时表支持操作:
1 Create without a primary key
2 Rename table
3 Rename column
4 Truncate
5 Drop
6 Create or Drop view on top of global temporary table
7 Create synonym
8 Select SAP HANA 数库– SQL 参考手册
110
9 Select into or Insert
10 Delete
11 Update
12 Upsert or Replace
LOCAL TEMPORARY
表定义数前会话见该表会话结束时截断
元数会话间享会话特定代表时表者允许查时表中
数会话特定代表时表者允许插入读取删数存会话
持续期间会话结束时时表中数会动删
时表支持操作:
1 Create without a primary key
2 Truncate
3 Drop
4 Select
5 Select into or Insert
6 Delete
7 Update
8 Upsert or Replace
table_contents_source
( )
| [WITH [NO] DATA]
| [( )] [WITH [NO] DATA]]
[]
| ( )
[] []
[DEFAULT ] [GENERATED ALWAYS AS ]

DATE | TIME | SECONDDATE | TIMESTAMP | TINYINT | SMALLINT | INTEGER | BIGINT |
SMALLDECIMAL | DECIMAL | REAL | DOUBLE| VARCHAR | NVARCHAR | ALPHANUM | SHORTTEXT |
VARBINARY |BLOB | CLOB | NCLOB | TEXT
CS_ALPHANUM | CS_INT | CS_FIXED | CS_FLOAT| CS_DOUBLE |
CS_DECIMAL_FLOAT | CS_FIXED(ps s) | CS_SDFLOAT| CS_STRING | CS_UNITEDECFLOAT | CS_DATE | SAP HANA 数库– SQL 参考手册
111
CS_TIME | CS_FIXEDSTRING | CS_RAW | CS_DAYDATE | CS_SECONDTIME | CS_LONGDATE |
CS_SECONDDATE
DDIC_ACCP | DDIC_ALNM | DDIC_CHAR | DDIC_CDAY | DDIC_CLNT | DDIC_CUKY
| DDIC_CURR | DDIC_D16D | DDIC_D34D | DDIC_D16R | DDIC_D34R | DDIC_D16S | DDIC_D34S
| DDIC_DATS | DDIC_DAY | DDIC_DEC | DDIC_FLTP | DDIC_GUID | DDIC_INT1 | DDIC_INT2 | DDIC_INT4
| DDIC_INT8 | DDIC_LANG | DDIC_LCHR | DDIC_MIN | DDIC_MON| DDIC_LRAW | DDIC_NUMC |
DDIC_PREC | DDIC_QUAN | DDIC_RAW | DDIC_RSTR | DDIC_SEC | DDIC_SRST | DDIC_SSTR |
DDIC_STRG | DDIC_STXT | DDIC_TIMS | DDIC_UNIT| DDIC_UTCM | DDIC_UTCL | DDIC_UTCS |
DDIC_TEXT | DDIC_VARC | DDIC_WEEK
NULL | | |
[]
+ |
|
[ []]
|

E


[]

DEFAULT
DEFAULT 定义 INSERT 语句没列提供值情况默认分配值
列定义中 DATA TYPE
供数类型:DATE TIME SECONDDATE TIMESTAMP TINYINT SMALLINT
INTEGERBIGINTSMALLDECIMAL DECIMAL REAL DOUBLE VARCHAR NVARCHAR ALPHANUM
SHORTTEXTVARBINARYBLOB CLOB NCLOB TEXT
供列式存储数类型:CS_ALPHANUM CS_INT CS_FIXED
CS_FLOATCS_DOUBLECS_DECIMAL_FLOAT CS_FIXED(pss) CS_SDFLOAT CS_STRING SAP HANA 数库– SQL 参考手册
112
CS_UNITEDECFLOATCS_DATE CS_TIMECS_FIXEDSTRING CS_RAW CS_DAYDATE CS_SECONDTIME
CS_LONGDATE CS_SECONDDATE
供 DDIC 数类型:DDIC_ACCP DDIC_ALNM DDIC_CHAR DDIC_CDAY DDIC_CLNT
DDIC_CUKYDDIC_CURR DDIC_D16D DDIC_D34D DDIC_D16R DDIC_D34R DDIC_D16S DDIC_D34S
DDIC_DATSDDIC_DAY DDIC_DEC DDIC_FLTP DDIC_GUID DDIC_INT1 DDIC_INT2 DDIC_INT4
DDIC_INT8DDIC_LANG DDIC_LCHR DDIC_MIN DDIC_MON DDIC_LRAW DDIC_NUMC DDIC_PREC
DDIC_QUANDDIC_RAW DDIC_RSTR DDIC_SEC DDIC_SRST DDIC_SSTR DDIC_STRG DDIC_STXT
DDIC_TIMSDDIC_UNIT DDIC_UTCM DDIC_UTCL DDIC_UTCS DDIC_TEXT DDIC_VARC DDIC_WEEK
GENERATED ALWAYS AS
指定运行时生成列值表达式
NULL
| NOT NULL
| UNIQUE [BTREE | CPBTREE]
| PRIMARY KEY [BTREE | CPBTREE]
NULL | NOT NULL
NOT NULL 禁止列值 NULL
果指定 NULL认常量表示列含空值默认 NULL
UNIQUE
指定唯键列
唯复合键指定列作唯键 unique 约束行列中具相

PRIMARY KEY
键约束 NOT NULL 约束 UNIQUE 约束组合禁止行列中具相值
BTREE | CPBTREE
指定索引类型列数类型字符串二进制字符串十进制数者约束组合键
非唯键默认索引类型 CPBTREE否 BTREE
B+树索引必须 BTREE 关键字 CPB+树索引需 CPBTREE 关键字
B+树维护排序数进行高效插入删搜索记录树
CPB+树表示压缩前缀 B+树基 pkBtree 树CPB+树非常索引部分SAP HANA 数库– SQL 参考手册
113
键索引节点全部键部分更键CPB+树展现出 B+树更性
果省略索引类型SAP HANA 数库考虑列数类型选择合适索引
UNIQUE [BTREE | CPBTREE]| PRIMARY KEY [BTREE | CPBTREE]
定义表约束表列者列两种表约束:
LIKE

创建 like_table_name 定义相表表中列定义默认值拷贝 like_table_name提
供选项 WITH DATA数指定表填充默认值 WITH NO DATA
AS '()
创建表计算数填充该子句拷贝 NOT NULL 约束果指定
column_names该指定 column_names 覆盖中列名
WITH [NO] DATA 指定数拷贝
LOGGING| NO LOGGING [RETENTION ]

LOGGING | NO LOGGING
LOGGING (默认值)指定激活记录表日志
NO LOGGING 指定停记录表日志张 NO LOGGING 表意味表定义持久全局见数
时全局
RETENTION
指定秒单位NO LOGGING 列式表保留时间指定保留期限已果物理存
机达 80述表删
AUTO MERGE | NO AUTO MERGE
AUTO MERGE | NO AUTO MERGE
AUTO MERGE (默认值)指定触发动增量合
PARTITION BY [ | ]
| PARTITION BY
| PARTITION BY []
HASH ( [ ]) PARTITIONS { | SAP HANA 数库– SQL 参考手册
114
GET_NUM_SERVERS()}
RANGE () ( )
ROUNDROBIN PARTITIONS { | GET_NUM_SERVERS()} [
]
{ | } [ ] [ PARTITION OTHERS]
PARTITION < VALUES <
PARTITION VALUE
| YEAR() | MONTH()
|
|
|

GET_NUM_SERVERS()函数返回服务器数量
PARTITION OTHERS 表示分区定义中未指定余值成分区
确定分区创建索引服务器果指定 LOCATION实例中循环创建分
区列表中重复项移果分区定义中精确指定实例数分区数分区分
配列表中实例索引列表中服务器必须属实例
果指定 no location机创建分区果分区数服务器数匹配例
GET_NUM_SERVERS()确保 CREATE TABLE 调样方式分配分区级分区
情况适第级分区数机制果创建彼语义相关张表
AT [LOCATION] {'' | ('' )}



AT LOCATION
表创建 hostport 指定位置位置列表创建分配实例分区表时定义位
置列表没提供表创建指定第位置中
果没提供位置信息表动分配节点中选项分布式环境中行存储
列存储表
描述:
CREATE TABLE 创建张表表中未填充数
WITH DATA 选项起 SAP HANA 数库– SQL 参考手册
115
例子:
创建表 A整数列 A B列 A 具键约束
CREATE TABLE A (A INT PRIMARY KEY B INT)
创建分区表 P1日期列 U列 U 具键约束作 RANGE 分区列
CREATE COLUMN TABLE P1 (U DATE PRIMARY KEY) PARTITION BY RANGE (U) (PARTITION '20100203'
< VALUES < '20110101' PARTITION VALUE '20110501')
创建分区表 P2整数列 IJ K列 IJ 组成键约束作哈希分区列列 K 子
哈希分区列
CREATE COLUMN TABLE P2 (I INT J INT K INT PRIMARY KEY(I J)) PARTITION BY HASH (I J) PARTITIONS
2 HASH (K) PARTITIONS 2
创建表 C1表 A 定义相记录相
CREATE COLUMN TABLE C1 LIKE A WITH DATA
创建表 C2表 A 列数类型 NOT NULL 约束相表 C2 没数
CREATE TABLE C2 AS (SELECT * FROM A) WITH NO DATA
CREATE TRIGGER
语法:
CREATE TRIGGER
ON [REFERENCING ][]
BEGIN
[]
[]

END
语法元素:

创建触发器名称
SAP HANA 数库– SQL 参考手册
116
创建触发器表名称
关 identifier 更信息参见 Identifiers
BEFORE | AFTER
指定触发动作发生 时间
BEFORE
操作题表前执行触发
AFTER
操作题表执行触发
INSERT | DELETE | UPDATE
定义激活触发器活动数修改命令
|
|
AS
声明 触发器转变变量触发器访问 DML 正修改记录
执行行级触发器代表触发器正修改记录相应

题表列名参见转换变量例子
OLD | NEW
ROW

OLD
访问触发器 DML 旧记录取代更新旧记录删旧记录
UPDATE 触发器 DELETE 触发器 OLD ROW 事务变量
NEW
访问触发器 DML 新记录取代插入新记录更新新记录
UPDATE 触发器 DELETE 触发器 NEW ROW 事务变量
支持事务变量
事务表支持
果’TABLE’作支持功错误 SAP HANA 数库– SQL 参考手册
117
FOR EACH ROW
触发器逐行方式调
默认模式执行行级触发器没 FOR EACH ROW 语法
目前逐语句触发支持
DECLARE | DECLARE
|
CONSTANT [] []
| [] []

DATE | TIME | SECONDDATE | TIMESTAMP | TINYINT | SMALLINT | INTEGER| BIGINT |
SMALLDECIMAL | DECIMAL | REAL | DOUBLE| VARCHAR | NVARCHAR | ALPHANUM | SHORTTEXT
|VARBINARY | BLOB | CLOB| NCLOB | TEXT
NOT NULL
DEFAULT |
CONDITION | CONDITION FOR


SQL_ERROR_CODE
trigger_decl_list
声明触发器变量者条件
声明变量标量赋值中者 SQL 语句触发中引
声明条件名异常处理中引
CONSTANT
指定 CONSTANT 关键字触发器执行时修改变量

|
DECLARE EXIT HANDLER FOR

| SAP HANA 数库– SQL 参考手册
118
SQLEXCEPTION
| SQLWARNING
|
|
异常处理声明捕捉已存 SQL 异常特定错误代码者条件变量声明条件名称
|

|
|
|
|
|
|
|
|
|
触发器体语法程体语法部分
参见 SAP HANA Database SQLScript guide 中 create procedure 定义
触发器体语法遵循程体语法嵌套块(proc_block)标量变量分配(proc_assign) if 块
(proc_if)loop 块(proc_loop)for 块(proc_for)for each 块(proc_foreach)exception
signal(proc_signal)exception resignal(proc_resignal) sql 语句(proc_sql)
BEGIN
[]
[]

END
嵌套方式添加外'BEGIN END'块

var_name 变量名应该事先声明
IF THEN
[]
[]
END IF
ELSEIF THEN SAP HANA 数库– SQL 参考手册
119
ELSE
关 condition 说明参见 SELECT
IF THEN ELSEIF END IF 控制执行流程条件
LOOP END LOOP
WHILE DO END WHILE
FOR IN []
DO
END FOR

REVERSE

FOR AS [] DO

END FOR
( )
|
SIGNAL []
RESIGNAL [] []
|

SET MESSEGE_TEXT '

SET MESSEGE_TEXT
果消息设置 SET MESSEGE_TEXT触发器执行时指定错误抛出消息传递

SIGNAL 语句显式抛出异常
户定义范围(10000〜19999)允许发行错误代码
RESIGNAL 语句异常处理中活动语句抛出异常
果没指定错误代码RESIGNAL 抛出已捕捉异常 SAP HANA 数库– SQL 参考手册
120

|
|
|
|
|
insert_stmt 详情参见 INSERT
delete_stmt 详情参见 DELETE
update_stmt 详情参见 UPDATE
replace_stmt upsert_stmt 详情参见 REPLACE | UPSERT
SELECT INTO

[]
[]
[]
[{ }]
[]
[]
|

关 select_list from_clause where_clause group_by_clause having_clauseset_operator subquery
order_by_clause limit 详情参见 SELECT
var_name 预先声明标量变量名
分配选中项标量变量中
描述:
CREATE TRIGGER 语句创建触发器
触发器种特殊存储程表发生事件时动执行
CREATE TRIGGER 命令定义组语句定操作(INSERTUPDATEDELETE)发生定象(题表)
执行
拥 TRIGGER 权限数库户允许创建表触发器
前触发器限制描述:
 支持 INSTEAD_OF 触发器
 访问触发器定义题表触发器体中允许代表触发器表
insertupdatedeletereplaceselect 操作支持 SAP HANA 数库– SQL 参考手册
121
 支持行级触发器支持语句级触发器行级触发器表示触发活动次行改
变时执行语句级触发器代表触发活动次语句执行时运行语法'FOR EACH ROW’表示
行式执行触发默认模式时没指定'FOR EACH ROW’然行级触发器
 支持事务表(OLDNEW TABLE)触发 SQL 语句想引正触发器触发事件
insertupdatedelete 修改数事务变量表触发器体中 SQL 语句访问新数旧数
方式事务变量行级触发器中事务表语句级触发器中
 支持节点机表中分区表执行触发器
 表 DML 操作触发器插入触发器更新触发器删触发器
三起激活
张表总三触发器
 支持触发器动作(存储程支持):
resultset assignment(select resultset assignment to tabletype)
exitcontinue command(execution flow control)
cursor openfetchclose(get each record data of search result by cursor and access record in loop)
procedure call(call another proecedure)
dynomic sql execution(build SQL statements dynamically at runtime of SQLScript)
return(end SQL statement execution)
系统监控视图:
TRIGGER 触发器系统视图:
系统视图 TRIGGER 显示:
SCHEMA_NAME TRIGGER_NAME TRIGGER_OID OWNER_NAME
OWNER_OIDSUBJECT_TABLE_SCHEMASUBJECT_TABLE_NAME TRIGGER_ACTION_TIME
TRIGGER_EVENT TRIGGERED_ACTION_LEVELDEFINITION
例子:
先需触发器定义表:
CREATE TABLE TARGET ( A INT)
需表触发访问修改:
CREATE TABLE SAMPLE ( A INT)
创建触发器例子:
CREATE TRIGGER TEST_TRIGGER
AFTER INSERT ON TARGET FOR EACH ROW
BEGIN
DECLARE SAMPLE_COUNT INT SAP HANA 数库– SQL 参考手册
122
SELECT COUNT(*) INTO SAMPLE_COUNT FROM SAMPLE
IF SAMPLE_COUNT 0
THEN
INSERT INTO SAMPLE VALUES(5)
ELSEIF SAMPLE_COUNT 1
THEN
INSERT INTO SAMPLE VALUES(6)
END IF
END
触发器 TEST_TRIGGER 意记录插入 TARGET 表执行
第次插入中表 SAMPLE 记录数 0触发器 TEST_TRIGGER 插入 5 表中
第二次插入 TARGET 表时触发器插入 6计数 2
INSERT INTO TARGET VALUES (1)
SELECT * FROM SAMPLE
5
INSERT INTO TARGET VALUES (2)
SELECT * FROM SAMPLE
5
6
创建触发器更例子FORWHILE 例子:
CREATE TABLE TARGET ( A INT)
CREATE TABLE SAMPLE ( A INT)
CREATE TRIGGER TEST_TRIGGER_WHILE_UPDATE
AFTER UPDATE ON TARGET
BEGIN
DECLARE found INT 1
DECLARE val INT 1
WHILE found <> 0 DO
SELECT count(*) INTO found FROM sample WHERE p val
IF found 0 THEN
INSERT INTO sample VALUES(val100000)
END IF
val val + 1
END WHILE
END
CREATE TABLE TARGET ( A INT)
CREATE TABLE control_tab(id INT PRIMARY KEY name VARCHAR(30) payment INT)
CREATE TABLE message_box(message VARCHAR(200) log_time TIMESTAMP) SAP HANA 数库– SQL 参考手册
123
CREATE TRIGGER TEST_TRIGGER_FOR_INSERT
AFTER INSERT ON TARGET
BEGIN
DECLARE v_id INT 0
DECLARE v_name VARCHAR(20) ''
DECLARE v_pay INT 0
DECLARE v_msg VARCHAR(200) ''
DELETE FROM message_box
FOR v_id IN 100 103 DO
SELECT name payment INTO v_name v_pay FROM control_tab WHERE id v_id
v_msg v_name || ' has ' || TO_CHAR(v_pay)
INSERT INTO message_box VALUES (v_msg CURRENT_TIMESTAMP)
END FOR
END
Handler 例子:
CREATE TABLE TARGET ( A INT)
CREATE TABLE MYTAB (I INTEGER PRIMARY KEY)
CREATE TRIGGER MYTRIG_SQLEXCEPTION
AFTER INSERT ON TARGET
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT SQL_ERROR_CODE SQL_ERROR_MESS
AGE FROM DUMMY
INSERT INTO MYTAB VALUES (1)
INSERT INTO MYTAB VALUES (1) expected unique violation error 301
not reached
END
CREATE TRIGGER MYTRIG_SQL_ERROR_CODE
AFTER UPDATE ON TARGET
BEGIN
DECLARE EXIT HANDLER FOR SQL_ERROR_CODE 301 SELECT SQL_ERROR_CODE SQL_ERRO
R_MESSAGE FROM DUMMY
INSERT INTO MYTAB VALUES (1)
INSERT INTO MYTAB VALUES (1) expected unique violation error 301
not reached
END
CREATE TRIGGER MYTRIG_CONDITION
AFTER DELETE ON TARGET
BEGIN
DECLARE MYCOND CONDITION FOR SQL_ERROR_CODE 301
DECLARE EXIT HANDLER FOR MYCOND SELECT SQL_ERROR_CODE SQL_ERROR_MESSAGE FR
OM DUMMY
INSERT INTO MYTAB VALUES (1)
INSERT INTO MYTAB VALUES (1) expected unique violation error 301
not reached SAP HANA 数库– SQL 参考手册
124
END
SIGNALRESIGNAL
CREATE TABLE TARGET ( A INT)
CREATE TABLE MYTAB (I INTEGER PRIMARY KEY)
CREATE TRIGGER MYTRIG_SIGNAL
AFTER INSERT ON TARGET
BEGIN
DECLARE MYCOND CONDITION FOR SQL_ERROR_CODE 10001
DECLARE EXIT HANDLER FOR MYCOND SELECT SQL_ERROR_CODE SQL_ERROR_MESSAGE FR
OM DUMMY
INSERT INTO MYTAB VALUES (1)
SIGNAL MYCOND SET MESSAGE_TEXT 'my error'
not reached
END
CREATE TRIGGER MYTRIG_RESIGNAL
AFTER UPDATE ON TARGET
BEGIN
DECLARE MYCOND CONDITION FOR SQL_ERROR_CODE 10001
DECLARE EXIT HANDLER FOR MYCOND RESIGNAL
INSERT INTO MYTAB VALUES (1)
SIGNAL MYCOND SET MESSAGE_TEXT 'my error'
not reached
END

事务变量例子:
CREATE TABLE TARGET ( A INT B VARCHAR(10))
CREATE TABLE SAMPLE_OLD ( A INT B VARCHAR(10))
CREATE TABLE SAMPLE_NEW ( A INT B VARCHAR(10))
INSERT INTO TARGET VALUES ( 1 'oldvalue')
CREATE TRIGGER TEST_TRIGGER_VAR_UPDATE
AFTER UPDATE ON TARGET
REFERENCING NEW ROW mynewrow OLD ROW myoldrow
FOR EACH ROW
BEGIN
INSERT INTO SAMPLE_new VALUES(mynewrowa mynewrowb)
INSERT INTO SAMPLE_old VALUES(myoldrowa myoldrowb)
END
UPDATE TARGER SET b 'newvalue' WHERE A 1
SELECT * FROM SAMPLE_NEW
1 'newvalue'
SELECT * FROM SAMPLE_OLD
1 'oldvalue'
CREATE VIEW
语法: SAP HANA 数库– SQL 参考手册
125
CREATE VIEW [( )] AS
语法元素:
[]


描述:
CREATE VIEW 效根 SQL 结果创建虚拟表真正意义表身包含

列名起作视图名称查询结果列名显示果列名省略查询结果动出
适列名列名数目必须返回列数目相
支持视图更新操作果满足条件:
视图中列必须映射单表中列
果基表中列 NOT NULL 约束没默认值该列必须包含插入视图列中更新
操作没该条件
例 SELECT 列表必须包含聚合分析功允许:
SELECT 列表中 TOP SET DISTINCT 操作
GROUP BY ORDER BY 子句
SELECT 列表中必须含子查询
必须包含序列值(CURRVAL NEXTVAL)
必须包含作基视图列视图
果基视图表更新符合述条件基础基视图表视图更新
例子:
选择表 a 中数创建视图 v:
CREATE VIEW v AS SELECT * FROM a
DROP AUDIT POLICY
语法:
DROP AUDIT POLICY
语法元素:

描述: SAP HANA 数库– SQL 参考手册
126
DROP AUDIT POLICY 语句删审计策略必须指定已存审计策略
拥系统权限 AUDIT ADMIN 数库户允许删审计策略拥该权限数库户
删意审计策略否该户创建
审计策略删发生定义已删审计策略中活动进步审计
果启审计策略定义审计活动
暂时关闭审计策略时禁删
系统监控视图:
AUDIT_POLICY:显示审计策略状态
M_INIFILE_CONTENTS:显示数库系统配置参数
拥系统权限 CATALOG READ DATA ADMIN INIFILE ADMIN 户查
M_INIFILE_CONTENTS 视图中容户空
例子:
假设语句前审计策略已创建:
CREATE AUDIT POLICY priv_audit AUDITING SUCCESSFUL GRANT PRIVILEGE REVOKE PRIVILEGE GRANT
ROLE REVOKE ROLE LEVEL CRITICAL
现该审计策略必须删:
DROP AUDIT POLICY priv_audit
DROP FULLTEXT INDEX
语法:
DROP FULLTEXT INDEX
语法元素:
fulltext_index_name
定义删索引
描述:
DROP FULLTEXT INDEX 语句移全文索引 SAP HANA 数库– SQL 参考手册
127
例子:
DROP FULLTEXT INDEX idx
DROP INDEX
语法:
DROP INDEX
语法元素:
index_name
索引名 identifier 定义删索引
描述:
DROP INDEX 语句移索引
例子:
DROP INDEX idx
DROP SCHEMA
语法:
DROP SCHEMA []
语法元素:
CASCADE | RESTRICT
Default RESTRICT
限制删操作删象没赖象时果存赖象抛出错误级联删
删象赖象
描述:
DROP SCHEMA 语句移数集合
例子: SAP HANA 数库– SQL 参考手册
128
创建集合 my_schema表 my_schemat然 my_schema CASCADE 选项删
CREATE SCHEMA my_schema
CREATE TABLE my_schemat (a INT)
DROP SCHEMA my_schema CASCADE
DROP SEQUENCE
语法:
DROP SEQUENCE []
语法元素:
CASCADE | RESTRICT
Default RESTRICT
级联删删象赖象未指定 CASCADE 选项执行非级联删象会
删赖象赖象 (VIEW PROCEDURE) 效
效象重新验证象样集合已创建象名象 ID集合名
象名重新验证赖象保留
限制删操作删象没赖象时果存赖象抛出错误
描述:
DROP SEQUENCE 语句移序列
例子:
DROP SEQUENCE s
DROP SYNONYM
语法:
DROP [PUBLIC] SYNONYM []
语法元素:

CASCADE | RESTRICT SAP HANA 数库– SQL 参考手册
129
Default RESTRICT
级联删删象赖象未指定 CASCADE 选项执行非级联删操作会
删赖象赖象 (VIEW PROCEDURE) 效
效象重新验证象样集合已创建象名象 ID集合名
象名重新验证赖象保留
限制删操作删象没赖象时果存赖象抛出错误
描述:
DROP SYNONYM 删义词选项 PUBLIC 允许删公义词
例子:
表 a 已创建然表 a 创建义词 a_synonym 公义词 pa_synonym:
CREATE TABLE a (c INT)
CREATE SYNONYM a_synonym FOR a
CREATE PUBLIC SYNONYM pa_synonym FOR a
删义词 a_synonym 公义词 pa_synonym
DROP SYNONYM a_synonym
DROP PUBLIC SYNONYM pa_synonym
DROP TABLE
语法:
DROP TABLE []
语法元素:
[]

CASCADE | RESTRICT
Default RESTRICT SAP HANA 数库– SQL 参考手册
130
级联删删象赖象未指定 CASCADE 选项执行非级联删操作会
删赖象赖象 (VIEW PROCEDURE) 效
效象重新验证象样集合已创建象名象 ID集合名
象名重新验证赖象保留
限制删操作删象没赖象时果存赖象抛出错误
描述:
DROP TABLE 语句删表
例子:
创建表 A然删
CREATE TABLE A(C INT)
DROP TABLE A
DROP TRIGGER
Syntax
DROP TRIGGER
Syntax Elements

删触发器名称
描述:
DROP TRIGGER 语句删触发器
触发器作表 TRIGGER 权限数库户允许删该表触发器
例子:
例子需先创建名 test_trigger 触发器:
CREATE TABLE TARGET ( A INT)
CREATE TABLE SAMPLE ( A INT)
CREATE TRIGGER TEST_TRIGGER SAP HANA 数库– SQL 参考手册
131
AFTER UPDATE ON TARGET
BEGIN
INSERT INTO SAMPLE VALUES(3)
END
现删触发器:
DROP TRIGGER TEST_TRIGGER
DROP VIEW
语法:
DROP VIEW []
语法元素:
[]

CASCADE | RESTRICT
Default RESTRICT
级联删删象赖象未指定 CASCADE 选项执行非级联删操作会
删赖象赖象 (VIEW PROCEDURE) 效
效象重新验证象样集合已创建象名象 ID集合名
象名重新验证赖象保留
限制删操作删象没赖象时果存赖象抛出错误
描述:
DROP VIEW 语句删视图
例子:
表 t 已创建然选择表 a 中数创建视图 v:
CREATE TABLE t (a INT)
CREATE VIEW v AS SELECT * FROM t
删视图 v: SAP HANA 数库– SQL 参考手册
132
DROP VIEW v
RENAME COLUMN
语法:
RENAME COLUMN TO
语法元素:


描述:
RENAME COLUMN 语句修改列名:
关列名信息请参阅 Identifiers
例子:
创建表 B
CREATE TABLE B (A INT PRIMARY KEY B INT)
显示表 B 中列名列表:
SELECT COLUMN_NAME POSITION FROM TABLE_COLUMNS WHERE SCHEMA_NAME
CURRENT_SCHEMA AND TABLE_NAME 'B' ORDER BY POSITION
列 A 重名 C:
RENAME COLUMN BA TO C
重命名表 B 列名列表:
SELECT COLUMN_NAME POSITION FROM TABLE_COLUMNS WHERE SCHEMA_NAME
CURRENT_SCHEMA AND TABLE_NAME 'B' ORDER BY POSITION
RENAME INDEX
语法:
RENAME INDEX TO SAP HANA 数库– SQL 参考手册
133
语法元素:


描述:
RENAME INDEX 语句重命名索引名
关索引名详情请参阅 identifiers
例子:
表 B 已创建然索引 idx 建立表 B 列 B:
CREATE TABLE B (A INT PRIMARY KEY B INT)
CREATE INDEX idx on B(B)
显示表 B 索引名列表:
SELECT INDEX_NAME FROM INDEXES WHERE SCHEMA_NAME CURRENT_SCHEMA AND
TABLE_NAME'B'
索引 idx 重名 new_idx:
RENAME INDEX idx TO new_idx
重命名表 B 索引名列表:
SELECT INDEX_NAME FROM INDEXES WHERE SCHEMA_NAME CURRENT_SCHEMA AND
TABLE_NAME'B'

RENAME TABLE
语法:
RENAME TABLE TO
语法元素:


描述: SAP HANA 数库– SQL 参考手册
134
RENAME TABLE 语句集合表名修改 new_table_name
关表名详情请参阅 Identifiers
例子:
前集合创建表 A:
CREATE TABLE A (A INT PRIMARY KEY B INT)
显示前集合表名列表:
SELECT TABLE_NAME FROM TABLES WHERE SCHEMA_NAME CURRENT_SCHEMA
表 A 重命名 B:
RENAME TABLE A TO B
显示重命名前集合表名列表:
SELECT TABLE_NAME FROM TABLES WHERE SCHEMA_NAME CURRENT_SCHEMA
集合 mySchema 已创建然创建表 mySchemaA:
CREATE SCHEMA mySchema
CREATE TABLE mySchemaA (A INT PRIMARY KEY B INT)
显示模式 mySchema 表名列表:
SELECT TABLE_NAME FROM TABLES WHERE SCHEMA_NAME 'MYSCHEMA'
表 mySchemaA 重命名 B:
RENAME TABLE mySchemaA TO B
显示重命名集合 mySchema 表名列表:
ALTER TABLE ALTER TYPE
语法:
[ALTER TYPE] { ROW [THREADS ] | CO
LUMN [THREADS [BATCH ]] }
语法元素:

指定进行表转换行线程数线程数目佳值应设置 CPU 核数量 SAP HANA 数库– SQL 参考手册
135

指定批插入行数默认值佳值 2000000插入表操作记录插入立
提交减少存消耗BATCH 选项表 行转换列时然 2000000
批导致高存消耗建议修改该值
描述:
通复制现表中列数现表创建存储类型新表该命令
表行转换列列转换行果源表行式存储新建表列式存储
配置参数
表转换默认线程数 indexserverini [sql]部分定义table_conversion_parallelism
(初始值 8)
例子:
例子需先创建欲进行转换表:
CREATE COLUMN TABLE col_to_row (col1 INT col2 INT)
CREATE ROW TABLE row_to_col (col1 INT col2 INT)
表 col_to_row 列式存储方式创建表 row_to_col 行式存储
现表 col_to_row 存储类型列转行:
ALTER TABLE col_to_row ALTER TYPE ROW
表 row_to_col 存储类型行转列:
ALTER TABLE row_to_col ALTER TYPE COLUMN
批量转换模式需语句结尾处添加批选项:
ALTER TABLE row_to_col ALTER TYPE COLUMN BATCH 10000
TRUNCATE TABLE
语法:
TRUNCATE TABLE
描述:
删表中记录表中删数时TRUNCATE DELETE FROM 快 TRUNCATE
法回滚回滚删记录应DELETE FROM SAP HANA 数库– SQL 参考手册
136
HISTORY 表通执行该语句正常表样删历史表部分(main delta history main
and history delta)删容会丢失
数操语句:
DELETE:
语法:
DELETE [HISTORY] FROM [WHERE ]
语法元素:
[]

关 identifier 详情请参阅 Identifiers
OR
| AND
| NOT
| ( )
|
关谓词详情请参阅 Predicates
描述:
DELETE 语句满足条件时表中删记录果省略 WHERE 子句删表中记

DELETE HISTORY
DELETE HISTORY 标记选中历史表中历史记录进行删表示执行完该语句引已删
记录时间旅行查询语句然查数物理删记录必须执行
面语句:
ALTER SYSTEM RECLAIM VERSION SPACE MERGE HISTORY DELTA of
请注意:某情况中执行述两条语句法物理删
欲检查记录否已物理删语句会帮助:
SELECT * FROM WHERE WITH PARAMETERS ('REQUEST_FLAGS'
('ALLCOMMITTED''HISTORYONLY')) SAP HANA 数库– SQL 参考手册
137
注意:WITH PARAMETERS ('REQUEST_FLAGS' ('ALLCOMMITTED''HISTORYONLY'))子句适
验证 DELETE HISTORY 语句执行结果
例子:
CREATE TABLE T (KEY INT PRIMARY KEY VAL INT)
INSERT INTO T VALUES (1 1)
INSERT INTO T VALUES (2 2)
INSERT INTO T VALUES (3 3)
面例子中删条记录:
DELETE FROM T WHERE KEY 1
EXPLAIN PLAN
语法:
EXPLAIN PLAN [SET STATEMENT_NAME ] FOR \ref sql_subquery
语法元素:
string literal used to identify the name of a specific executi
on plan in the output table for a given SQL statement
果未指定 SET STATEMENT_NAME设 NULL
描述:
EXPLAIN PLAN 语句评估 SAP HANA 数库遵循执行 SQL 语句执行计划评估结果存
视图 EXPLAIN_PLAN_TABLE便稍户检查
SQL 语句必须数操语句集合定义语句 EXPLAIN STATEMENT 中
EXPLAIN_PLAN_TABLE 视图中 SQL 计划该视图户享里视图读
取 SQL 计划例子:
SELECT * FROM EXPLAIN_PLAN_TABLE
EXPLAIN_PLAN_TABLE 视图中列:
表 1:列名描述 SAP HANA 数库– SQL 参考手册
138


EXPLAIN_PLAN_TABLE 视图中 OPERATOR_NAME 列表 2:OPERATOR_NAME 列显示列式引擎
操作符列表:
列名 描述

STATEMENT_NA
ME

执行 EXPLAIN_PLAN 命令时指定 STATEMENT NAME 字符串
EXPLAIN_PLAN_TABLE 视图中计划时区分计划
OPERATOR_NAM
E
操作符名字详细描述面部分中

OPERATOR_DETA
ILS

操作符详情操作符谓词表达式显示
SCHEMA—NAME 已访问表数集合名
TABLE_NAME 已访问表表名
TABLE_TYPE 已访问表类型类型: COLUMN TABLE ROW TABLE MONITORING VIEW JOIN VIEW
OLAP VIEW CALCULATION VIEW HIERARCHY VIEW
TABLE_SIZE 已访问表中估计记录数量
OUTPUT_SIZE 操作符产生估计记录数量

SUBTREE_COST

执行操作符开始子树估计成该值仅较
OPERATOR_ID 计划中操作符唯 ID数值 1 开始
PARENT_OPERAT
OR_ID
计划双亲 OPERATOR_IDSQL 计划形状棵树拓扑结构 OPERATORJD
PARENT_OPERATOR_ID 重建 根操作符 PARENT_OPERATOR_ID 显示 NULL
LEVEL 根操作符起始级根操作符级 1子操作符级 2等等输

POSITION 双亲操作符位置第子操作符 1第二子操作符 2等等
HOST 执行操作符机名
PORT 连接机 TCPIP 端口
TIMESTAMP 执行 EXPLAIN PLAN 命令日期时间
CONNECTIONJD 执行 EXPLAIN PLAN 连接 ID
EXECUTION_ENG
INE
执行操作符引擎类型:COLUMN ROW
操作符名 描述
COLUMN
SEARCH

列式引擎操作符起始位置 OPERATOR_DETAILS 列出投影列 SAP HANA 数库– SQL 参考手册
139

表 3:
OPERA
TOR_N
AME
列显示
行式
引擎操
作符列
表:

COLUMN SEARCH 列式引擎操作符起始位置标记ROW SEARCH 行式引擎操作符起始位置标
记例子中COLUMN SEARCH (ID 10)生成中间结果 ROW SEARCH (ID 7)ROW
SEARCH (ID 7) COLUMN SEARCH (ID 1)位 COLUMN SEARCH (ID 10) 底层操作符
解释 COLUMN SEARCH (ID 10) 执行ROW SEARCH (ID 7) COLUMN SEARCH (ID 10) 间
操作符说明 ROW SEARCH (ID 7) 处理 COLUMN SEARCH (ID 10) 生成中间结果位
COLUMN SEARCH (ID 1) ROW SEARCH (ID 7)顶层操作符解释顶层 COLUMN SEARCH (ID 1)
处理 ROW SEARCH (ID 7)生成中间结果








表 4:操作符
OPERATOR_NAME OPERATOR」D PARENT_OPERATOR_ID LEVEL POSITION
COLUMN SEARCH 1 NULL 1 1
LIMIT 2 1 2 1
ORDER BY 3 2 3 1
LIMIT 限制输出行数操作符
ORDER BY 输出行排序操作符
HAVING 分组聚合顶端谓词进行滤操作符
GROUP BY 进行分组聚合操作符
DISTINCT 移重复记录操作符
FILTER 谓词滤操作符
JOIN 联接输入关系操作符
COLUMN TABLE 关访问列表信息
MULTI PROVIDER 生成联合相分组聚合结果操作符 SAP HANA 数库– SQL 参考手册
140
GROUP BY 4 3 4 1
JOIN 5 4 5 1
COLUMN TABLE 6 5 6 1
colorBLUE>ROW
SEARCH
colorBLUE>7
〈font
colorBLUE>5
colorBLUE >6n t>
colorBLUE>2
BTREE INDEX JOIN 8 7 7 1
BTREE INDEX JOIN 9 8 8 1
colorRED>COLUMN
SEARCH
colorRED>10
〈font
colorRED>9
colorRED>9
colorRED>l
FILTER 11 10 10 1
COLUMN
TABLE
12 11 11 1

SQL 计划解释例子
该语句语 TPCH 基准例子中表行式存储
DELETE FROM expl a i n_pl a n_ta bl e WHERE s ta tement_na me 'TPCH Q10'
EXPLAIN PLAN SET STATEMENT_NAME 'TPCH Q10' FOR
SELECT TOP 20
c_cus tkey
c_na me
SUM(l _extendedpri ce * (1 l _di s count)) AS revenue
c_a cctba l
n_na me
c_a ddres s
c_phone
c_comment
FROM
cus tomer
orders
l i nei tem
na ti on
WHERE
c_cus tkey o_cus tkey
AND l _orderkey o_orderkey
AND o_orderda te > '19931001'
AND o_orderda te < ADD_MONTHS('19931001'3)
AND l _returnfl a g 'R'
AND c_na ti onkey n_na ti onkey
GROUP BY
c_cus tkey
c_na me
c_a cctba l SAP HANA 数库– SQL 参考手册
141
c_phone
n_na me
c_a ddres s
c_comment
ORDER BY
revenue DESC
SELECT opera tor_na me opera tor_deta i l s ta bl e_na me
FROM expl a i n_pl a n_ta bl e
WHERE s ta tement_na me 'TPCH Q10'
文查询语句计划解释:
OPERATOR_NAME OPERATOR_DETAILS TABLE
NAME
ROW SEARCH CUSTOMERC_CUSTKEY CUSTOMERC NAME
SUM(LINEITEML_EXTENDEDPRICE * (1
LINEITEML_DISCOUNT)) CUSTOMERC_ACCTBAL NATIONN_NAME
CUSTOMERC_ADDRESS CUSTOMERC_PHONE CUSTOMERC_ COMMENT
None
LIMIT NUM RECORDS 20
ORDER BY SUM(LINEITEML_EXTENDEDPRICE * (1 LINEITEML_DISCOUNT)) DESC None
MERGE
AGGREGATION
NUM PARTITIONS 4 None
GROUP BY GROUPING NATIONN_NAME R_CUSTOMERC_CUSTKEY AGGREGATION
SUM(LINEITEML_EXTENDEDPRICE * (1 LINEITEML_DISCOUNT))
None
CPBTREE
INDEX JOIN INDEX NAME _SYS_TREE_RS_279_#0_#P0
INDEX CONDITION ORDERSO_ORDERKEY LINEITEML_ORDERKEY INDEX
FILTER 'R' LINEITEML_RETURNFLAG
LINEITEM
BTREE INDEX JOIN INDEX NAME _SYS_TREE_RS_285_#0_#P0
INDEX CONDITION CUSTOMERC_NATIONKEY NATIONN_NATIONKEY
NATION
BTREE INDEX JOIN INDEX NAME _SYS_TREE_RS_283_#0_#P0
INDEX CONDITION ORDERSO_CUSTKEY CUSTOMERC_CUSTKEY
CUSTOMER
TABLE
SCAN
FILTER CONDITION ORDERSO_ORDERDATE < '19940101' AND
ORDERSO_ORDERDATE > '19931001'
ORDERS


INSERT
语法
INSERT INTO [ ] { | }
语法元素: SAP HANA 数库– SQL 参考手册
142
[ ]

( )

关 identifier 详情请参阅 Identifiers
VALUES ( )
关表达式详情请参阅 Expressions
描述:
INSERT 语句添加条表中返回记录子查询插入表中果子查询没返回结
果数库会插入记录 INSERT 语句指定列列表列表中列显示默
认值果省略列列表数库插入记录表中
例子:
CREATE TABLE T (KEY INT PRIMARY KEY VAL1 INT VAL2 NVARCHAR(20))
例子中插入值:
INSERT INTO T VALUES (1 1 'The first')

值插入指定列:
INSERT INTO T (KEY) VALUES (2)

子查询:
INSERT INTO T SELECT 3 3 'The third' FROM DUMMY
SAP HANA 数库– SQL 参考手册
143
LOAD
语法:
LOAD {DELTA | ALL | ( )}
描述:
LOAD 语句明确加载列式存储表数存中非第次访问时加载
语法元素:

加载存中表名

加载存中列名
DELTA
DELTA列式表部分加载存列式存储读操作做优化压缩增量
优化插入更新插入传递增量
ALL
增量列存储表中数加载存中
例子:
例子加载整张表 a_table 存中
LOAD a_table all
例子加载列 a_column 表 a_table 列 another_column 存中
LOAD a_table (a_columnanother_column)
表加载状态查询:
select loaded from m_cs_tables where table name '
MERGE DELTA
语法:
MERGE [HISTORY] DELTA OF [PART n] [WITH PARAMETERS ( )]
语法元素:
WITH PARAMETERS () SAP HANA 数库– SQL 参考手册
144
列式存储特定选项WITH PARAMETERS子句传递
[]



'SMART_MERGE' | 'MEMORY_MERGE'
'ON' | 'OFF'
前参数:'SMART_MERGE' 'ON' | 'OFF' SMART_MERGE ON数库执行智合代
表数库基 Indexserver 配置中定义合条件决定否合
'MEMORY_MERGE' 'ON' | 'OFF' 数库合存中表增量部分会持久化
描述:
DELTA列式表部分加载存列式存储读操作做优化压缩增量
优化插入更新插入传递增量部分
HISTORY 指定合历史表增量部分时表历史部分
PART指定合历史表增量部分时表历史部分该表已分区
例子:
MERGE DELTA OF A
Merges the column store table delta part to its main part
MERGE DELTA OF A WITH PARAMETERS('SMART_MERGE' 'ON')
Smart merges the column store table delta part to its main part
MERGE DELTA OF A WITH PARAMETERS('SMART_MERGE' 'ON' 'MEMORY_MERGE' 'ON')
Smart merges the column store table delta part to its main part nonpersistent in memory only
MERGE DELTA OF A PART 1
Merge the delta of partition no 1 of table with name A to main part of partion no 1
MERGE HISTORY DELTA OF A
Merge the history delta part of table with name A into its history main part
MERGE HISTORY DELTA OF A PART 1
Merges the column store table delta part of the history of table with name A to its history main part
REPLACE | UPSERT
语法:
UPSERT [ ] { [ WHERE | WITH
PRIMARY KEY ] | } SAP HANA 数库– SQL 参考手册
145
REPLACE [ ] { [ WHERE | WITH
PRIMARY KEY ] | }
语法元素:
[ ]

( )

关标识符详情请参阅 Identifiers
VALUES ( )
关表达式详情请参阅 Expressions
OR
| AND
| NOT
| ( )
|
关谓词详情请参阅 Predicates
描述:
没子查询 UPSERT 者 REPLACE 语句 UPDATE 相似唯区 WHERE 子句假时
该语句 INSERT 样添加条新记录表中
表 PRIMARY KEY 情况键列必须包含列列表中没默认设定 NOT NULL 定
义列必须包含列列表中
子查询 UPSERT 者 REPLACE 语句 INSERT 样果表中旧记录键新记录值相
旧记录子查询返回记录修改非表键否变等 INSERT
没索引判断新记录否旧记录重复
'WITH PRIMARY KEY' UPSERT REPLACE 语句子查询语句相 PRIMARY KEY 基础
工作
例子:
CREATE TABLE T (KEY INT PRIMARY KEY VAL INT)
插入条新值: SAP HANA 数库– SQL 参考手册
146
UPSERT T VALUES (1 1)

果 WHERE 子句中条件假插入条新值:
UPSERT T VALUES (2 2) WHERE KEY 2

更新列VAL第条记录
UPSERT T VALUES (1 9) WHERE KEY 1

者WITH PRIMARY KEY 关键字
UPSERT T VALUES (1 8) WITH PRIMARY KEY

子查询插入值:
UPSERT T SELECT KEY + 2 VAL FROM T

SELECT
语法:
[ | ]
| ( ) [ | ]
SAP HANA 数库– SQL 参考手册
147

[]
[]
[]
[{ }]
[]
[]
语法元素:
SELECT 子句:
SELECT 子句指定返回户外部 select 子句输出果存话
SELECT [TOP ] [ ALL | DISTINCT ]
[ ]
[]
| [ AS ]
[]



*
TOP n
TOP n 返回 SQL 语句前 n 条记录
DISTINCT ALL
DISTINCT 返回重复记录组选择副
ALL 返回选择记录包括重复记录拷贝默认值 ALL
Select_list
select_list 允许户定义想表中选择列
Asterisk
asterisk FROM 子句中列出表视图中选择列果集合名表名者表名带星号
(*)限制结果集指定表
column_alias
column_alias 简单表示表达式
FROM
FROM 子句中指定输入值表视图 SELECT 语句中子查询 SAP HANA 数库– SQL 参考手册
148
FROM { }
[ [AS] ]
| [ [AS] ]
|

[] JOIN
ON |
|
CROSS JOIN

|
INNER | { LEFT | RIGHT | FULL } [OUTER]
table alias
表名简单表示表者子查询
join_type 定义执行联接类型 LEFT 表示左外联接RIGHT 表示右外联接FULL 表示全外联
接执行联接操作时OUT 者
ON
ON 子句定义联接谓词
CROSS JOIN
CROSS 表示执行交叉联接交叉联接生成两表交叉积结果
WHERE 子句
WHERE 子句指定 FROM 子句输入谓词户检索需记录
WHERE
OR
| AND
| NOT
| ( )
|

|
|
|
|
|
{ | | <> | > | < | > | < }
[ ANY | SOME | ALL ] ({ | })
[NOT] BETWEEN AND
[NOT] IN ( { | } ) SAP HANA 数库– SQL 参考手册
149
[NOT] EXISTS ( )
[NOT] LIKE [ESCAPE ]
IS [NOT] NULL
{ }
GROUP BY 子句
GROUP BY { | }
{ }
{ GROUPING SETS | ROLLUP | CUBE }[BEST ] [LIMIT [OFFSET
] ]
[WITH SUBTOTAL] [WITH BALANCE] [WITH TOTAL]
[TEXT_FILTER [FILL UP [SORT MATCHES TO TOP]]]
[STRUCTURED RESULT [WITH OVERVIEW] [PREFIX ] | MULTIPLE RESULTSETS]
( )
{ }
| ( )
| ( ( ) )
GROUP BY 基指定列值选定行进行分组
GROUPING SETS
条语句中生成特定数分组结果果没设置例 best limit 选项结果
UNION ALL 指定组聚合值相例:select col1 col2 col3 count(*) from t group by
grouping sets ( (col1 col2) (col1 col3) )select col1 col2 NULL count(*) from t group by col1 col2
union all select col1 NULL col3count(*) from t group by col1 col3相 groupingsets 语句中
(col1 col2) (col1 col3)定义分组
ROLLUP
条语句中生成级聚合结果例rollup (col1 col2col3)额外 聚合没分组
grouping sets ( (col1 col2 col3) (col1 col2) (col1) )结果相结果集包含分组数目
ROLLUP 列表中列加聚合数目果没额外选项
CUBE
条语句中生成级聚合结果例cube (col1 col2col3) 额外聚合没分组
grouping sets ( (col1 col2 col3) (col1 col2) (col1 col3) (col2 col3) (col1) (col2)(col3) )结果相
结果集包含分组数目排列 CUBE 列表列加聚合数目
相果没附加选项 SAP HANA 数库– SQL 参考手册
150
BEST n
返回行聚合数降序排列分组集中前 n 分组集n 意零正数负数 n
零时作没 BEST 选项样 n 负数表示升序排序
LIMIT n1 [OFFSET n2]
返回分组集中第 N1 分组记录跳 N2 结果

WITH SUBTOTAL
返回分组集中 OFFSET 者 LIMIT 控制返回结果分类汇总非设置 OFFSET
LIMIT
返回值 WITH TOTAL 相
WITH BALANCE
返回分组集中 OFFSET 者 LIMIT 没返回余结果值
WITH TOTAL
返回分组集中额外合计总值行OFFSET LIMIT 选项修改该值
TEXT_FILTER
执行文滤者高亮分组列单引号字符串语法:
'[]{ }'
+ | | NOT
|
Unicode letters or digits
doublequoted string that does not contain double quotations inside
[]
+ | | NOT | AND | AND NOT | OR
定义滤逻辑操作符 AND OR NOT 连接标记词组者短语组成标
记相匹配字符串中包含应区分写单词'ab' 匹配 'ab cd' 'cd Ab' 匹配
'abcd'标记包含通配字符’匹配字符串’匹配意字母词组’’
通配符逻辑运算符 ANDOR NOT 标记词组起 OR 默认操作符'ab
cd' 'ab OR cd'意义样注意逻辑运算符应该写作种逻辑运算符前缀'+' ''
表示包含(AND) 包含 (AND NOT)例'ab cd' 'ab AND NOT cd'意义相果没 FILL
UP 选项返回含匹配值分组记录需注意滤器仅运分组集第
分组列
FILL UP
仅返回匹配分组记录包含匹配记录text_filter 函数识匹配
参阅面'Related Functions’ SAP HANA 数库– SQL 参考手册
151
SORT MATCHES TO TOP
返回匹配值位非匹配值前分组集该选项 SUBTOTAL BALANCE TOTAL 起
STRUCTURED RESULT
结果作时表返回分组集创建时表果设置 WITH OVERVIEW 选项
分组集总览创建额外时表该时表名字 PREFIX 选项定义
WITH OVERVIEW
总览返回单独额外张表中
PREFIX 值
前缀命名时表必须#开始代表时表果省略默认前缀#GN然连
接该前缀值非负整数作时表名称#GN0 #GN1 #GN2
MULTIPLE RESULTSETS
返回结果集中结果
相关函数
grouping_id ( )函数返回整数判断分组记录属
分组集text_filter ( ) 函数 TEXT_FILTER FILL UP SORT MATCHES TO
TOP 起显示匹配值者 NULL指定 FILL UP 选项时未匹配值显示 NULL
返回格式
果 STRUCTURED RESULT MULTIPLE RESULTSETS 没设置返回分组集 联合
没包含指定分组集中属性填充 NULL 值 STRUCTURED RESULT额外创建时
表会话中SELECT * FROM
查询表名遵循格式:
0:果定义 WITH OVERVIEW该表包含总览
n: BEST 参数重新排序第 n 分组集
MULTIPLE RESULTSETS返回结果集分组集分组记录单结果集中
HAVING 子句:
HAVING 子句选择满足谓词特定分组果省略该子句选出分组
HAVING
SET OPERATORS
SET OPERATORS SELECT 语句相结合返回结果集
UNION [ ALL | DISTINCT ] | INTERSECT [DISTINCT] | EXCEPT [DISTINCT]
UNION ALL
选择 select 语句中记录重复记录会删 SAP HANA 数库– SQL 参考手册
152
UNION [DISTINCT]
选择 SELECT 语句中唯记录 SELECT 语句中删重复记录UNION UNION
DISTINCT 作相
INTERSECT [DISTINCT]
选择 SELECT 语句中唯记录
EXCEPT [DISTINCT]
位面 SELECT 语句删重复记录返回第 SELECT 语句中唯记录

ORDER BY 子句
ORDER BY { }
[ ASC | DESC ]
| [ ASC | DESC

ORDER BY 子句根表达式者位置记录排序位置表示选择列表索引select col1
col2 from t order by 2 2 表示 col2 选择列表中第二表达式ASC 升序排列记录
DESC 降序排列记录默认值 ASC
LIMIT
LIMIT 关键字定义输出记录数量
LIMIT [ OFFSET ]
LIMIT n1 [OFFSET n2]
返回跳 n2 条记录先 n1 条记录
FOR UPDATE
FOR UPDATE 关键字锁定记录便户法锁定修改记录直次事务结束
FOR UPDATE
TIME TRAVEL
该关键字时间旅行关语句级时间旅行回 commit_id 者时间指定快
AS OF { { COMMIT ID } | { UTCTIMESTAMP }}
时间旅行历史列表适次提交 m_history_index_last_commit_id 获
相关 sysm_transaction_history 读取 SAP HANA 数库– SQL 参考手册
153
create history column table x ( a int b int ) after turnning off auto commit
insert into x values (11)
commit
select last_commit_id from m_history_index_last_commit_id where session_id current_connection
eg 10
insert into x values (22)
commit
select last_commit_id from m_history_index_last_commit_id where session_id curren
t_connection eg 20
delete from x
commit
select last_commit_id from m_history_index_last_commit_id where session_id curren
t_connection eg 30
select * from x as of commit id 30 return nothing
select * from x as of commit id 20 return two records (11) and (22)
select * from x as of commit id 10 return one record (11)
select commit_time from systransaction_history where commit_id 10 eg '201
20101 011111'
select commit_time from systransaction_history where commit_id 20 eg '201
20101 022222'
select commit_time from systransaction_history where commit_id 30 eg '201
20101 033333'
select * from x as of utctimestamp '20120102 020000' return one record (11
)
select * from x as of utctimestamp '20120103 030000' return two records (1
1) and (22)
select * from x as of utctimestamp '20120104 040000' return nothing
例子:
表 t1:
drop table t1
create column table t1 ( id int primary key customer varchar(5) year int product
varchar(5) sales int )
insert into t1 values(1 'C1' 2009 'P1' 100)
insert into t1 values(2 'C1' 2009 'P2' 200)
insert into t1 values(3 'C1' 2010 'P1' 50)
insert into t1 values(4 'C1' 2010 'P2' 150)
insert into t1 values(5 'C2' 2009 'P1' 200)
insert into t1 values(6 'C2' 2009 'P2' 300)
insert into t1 values(7 'C2' 2010 'P1' 100)
insert into t1 values(8 'C2' 2010 'P2' 150)
GROUPING SETS 语句第二 groupby 查询相等需注意两组第查询分
组集指定组第二查询 SAP HANA 数库– SQL 参考手册
154
select customer year product sum(sales)
from t1
group by GROUPING SETS
(
(customer year)
(customer product)
)

select customer year NULL sum(sales)
from t1
group by customer year
union all
select customer NULL product sum(sales)
from t1
group by customer product
ROLLUP CUBE 常分组集简明表示面 ROLLUP 查询第二 groupby 查询相

select customer year sum(sales)
from t1
group by ROLLUP(customer year)

select customer year sum(sales)
from t1
group by grouping sets
(
(customer year)
(customer)
)
union all
select NULL NULL sum(sales) from t1
CUBE 查询第二 groupby 查询相等
select customer year sum(sales)
from t1
group by CUBE(customer year)

select customer year sum(sales)
from t1
group by grouping sets
(
(customer year)
(customer)
(year)
)
union all SAP HANA 数库– SQL 参考手册
155
select NULL NULL sum(sales)
from t1
BEST 1 指定查询语句返回面 1 best 组该例子中(customer year)组
存 4 条记录(product)组存 2 条记录返回前 4 条记录 'BEST 1' 非 'BEST
1'返回 2 条记录
select customer year product sum(sales)
from t1
group by grouping sets BEST 1
(
(customer year)
(product)
)
LIMIT2 限制组记录数 2(customer year) 组存 4 条记录返回前 2 条记录
(product)组记录条数 2返回结果
select customer year product sum(sales)
from t1
group by grouping sets LIMIT 2
(
(customer year)
(product)
)
WITH SUBTOTAL 组生成额外条记录显示返回结果分类汇总记录汇总
customer year product 列返回 NULL选择列表中 sum(sales)总
select customer year product sum(sales)
from t1
group by grouping sets LIMIT 2 WITH SUBTOTAL
(
(customer year)
(product)
)
WITH BALNACE 组生成额外条记录显示未返回结果分类汇总
select customer year product sum(sales)
from t1
group by grouping sets LIMIT 2 WITH BALANCE
(
(customer year)
(product)
) SAP HANA 数库– SQL 参考手册
156
WITH TOTAL 组生成额外条记录显示分组记录汇总考虑该分组记录否返

select customer year product sum(sales)
from t1
group by grouping sets LIMIT 2 WITH TOTAL
(
(customer year)
(product)
)
TEXT_FILTER 允许户获指定分组第列查询搜索’2’结尾列:
第分组集 customers 第二 products返回三条匹配记录 SELECT 列表中
TEXT_FILTER 查值匹配
select customer year product sum(sales) text_filter(customer) text_filter(prod
uct)
from t1
group by grouping sets TEXT_FILTER '*2'
(
(customer year)
(product)
)
FILL UP 返回含匹配匹配记录面查询返回 6 条记录先
前查询返回 3 条
select customer year product sum(sales) text_filter(customer) text_filter(prod
uct)
from t1
group by grouping sets TEXT_FILTER '*2' FILL UP
(
(customer year)
(product)
)
SORT MATCHES TO TOP 提高匹配记录分组集分组记录进行排序
select customer year product sum(sales) text_filter(customer) text_filter(prod
uct)
from t1
group by grouping sets TEXT_FILTER '*2' FILL UP SORT MATCHES TO TOP
(
(customer year)
(product)
) SAP HANA 数库– SQL 参考手册
157
STRUCTURED RESULT 分组集创建张时表选总览表创建张表
#GN1 分组集(customer year)表#GN2 分组集(product)注意张表含列相关
列说表#GN1包含列product表#GN2包含列customer and year
select customer year product sum(sales)
from t1
group by grouping sets STRUCTURED RESULT
(
(customer year)
(product)
)
select * from #GN1
select * from #GN2

WITH OVERVIEW 总览表创建时表#GN0
drop table #G1
drop table #G2
select customer year product sum(sales)
from t1
group by grouping sets structured result WITH OVERVIEW
(
(customer year)
(product)
)
select * from #GN0
select * from #GN1
select * from #GN2
户通 PREFIX 关键字修改时表名字注意名字必须时表前缀'#'开始
select customer year product sum(sales)
from t1
group by grouping sets STRUCTURED RESULT WITH OVERVIEW PREFIX '#MYTAB'
(
(customer year)
(product)
)
select * from #MYTAB0
select * from #MYTAB1
select * from #MYTAB2
相应会话关闭户执行 drop 命令时表删时列表显示
m_temporary_tables
select * from m_temporary_tables SAP HANA 数库– SQL 参考手册
158
MULTIPLE RESULTSETS 返回结果结果集 SAP HANA Studio 中查询返回三结果
集:总览表两分组集
select customer year product sum(sales)
from t1
group by grouping sets MULTIPLE RESULTSETS
(
(customer year)
(product)
)

UNLOAD
语法:
UNLOAD
语法元素:

存卸载表名称
描述:
UNLOAD 语句存中卸载列存储表释放存表次访问时重新加载
例子:
面例子中表 a_table 存中卸载
UNLOAD a_table
卸载表状态通语句查询:
select loaded from m_cs_tables where table name '
UPDATE
语法
UPDATE [ ] [ WHERE ]
语法元素:
[]

[AS] SAP HANA 数库– SQL 参考手册
159
关 Identifier 详情 请参见 Identifiers
SET { }
关表达式详情请参见 Expressions
OR
| AND
| NOT
| ( )
|
关谓词详情请参见 Predicates
描述:
UPDATE 语句修改满足条件表中记录值果 WHERE 子句中条件真分配该列表达式
结果中果省略 WHERE 子句语句更新表中记录
例子:
CREATE TABLE T (KEY INT PRIMARY KEY VAL INT)
INSERT INTO T VALUES (1 1)
INSERT INTO T VALUES (2 2)
果 WHERE 条件中条件真记录更新
UPDATE T SET VAL VAL + 1 WHERE KEY 1

果省略 WHERE 子句更新表中记录
UPDATE T SET VAL KEY + 10

系统理语句
SET SYSTEM LICENSE
语法:
SET SYSTEM LICENSE '' SAP HANA 数库– SQL 参考手册
160
描述:
安装许证密钥数库实例许证密钥(>) 许证密钥文件中复制黏贴
执行该命令需系统权限 LICENSE ADMIN
例子:
SET SYSTEM LICENSE ' Begin SAP License
SAPSYSTEMHD1
HARDWAREKEYK4150485960
INSTNO0110008649
BEGIN20110809
EXPIRATION20151231
LKEY
SWPRODUCTNAMESAPHANA
SWPRODUCTLIMIT2147483647
SYSTEMNR00000000031047460'
ALTER SYSTEM ALTER CONFIGURATION
语法:
ALTER CONFIGURATION ( [ ]) SET | UNSET
[ WITH RECONFIGURE]
语法元素:

行存储引擎配置情况文件名'indexserverini'文件名必须位’DEFAULT’
层 ini 文件果选择文件文件名需层存该文件 SET 命令创建

设置配置变化目标层该参数'SYSTEM''HOST'SYSTEM 层客户设置推荐层HOST
层应该般仅少量配置例daemonini 包含参数

果述层设’HOST’layer_name 设置目标 tenant 名者目标机名例
'selxeon12' 目标 'selxeon12' 机名
SET
SET 命令更新键值果该键已存者需话插入该键值
UNSET
UNSET 命令删键关联值 SAP HANA 数库– SQL 参考手册
161

{() }
指定修改 ini 文件段键值语句:

修改参数段名:

修改参数名:

修改参数值
WITH RECONFIGURE
指定 WITH RECONFIGURE配置修改直接应 SAP HANA 数库实例
未指定 WITH RECONFIGURE新配置写文件 ini 中然新值会应前运行
系统中数库次启动时应意味 ini 文件中容 SAP HANA 数库
实际配置值存致
描述:
设置删 ini 文件中配置参数 ini 文件配置 DEFAULT SYSTEM HOST 层
注意:DEFAULT 层配置命令更改删
ini 文件位置例子:
DEFAULT usrsapHDBexeconfigindexserverini
SYSTEM usrsapSYSglobalhdbcustomconfigindexserverini
HOST usrsapHDBindexserverini
配置层优先级:DEFAULT < SYSTEM < HOST表示 HOST 层具高优先级着 SYSTEM
层 DEFAULT 层高优先级配置应运行环境中果高优先级配置删
具高优先级配置应
系统监控视图:
目前供 ini 文件系统表 M_INIFILES 列出前配置系统表 M_INIFILE_CONTENTS

例子:
修改系统层配置例子: SAP HANA 数库– SQL 参考手册
162
ALTER SYSTEM ALTER CONFIGURATION ('filename' 'layer') SET ('section1' 'key1') 'value1' ('section2'
'key2') 'value2' [WITH RECONFIGURE]
ALTER SYSTEM ALTER CONFIGURATION ('filename' 'layer' 'layer_name' ) UNSET ('section1' 'key1')
('section2') [WITH RECONFIGURE]
ALTER SYSTEM ALTER SESSION SET
语法:
ALTER SYSTEM ALTER SESSION SET
语法元素:

应设置变量会话 ID

会话变量键值长度 32 字符

会话变量期值长度 512 字符
描述:
该命令设置数库会话会话变量:
注意:读会话变量该命令修改值:APPLICATION APPLICATIONUSER
TRACEPROFILE
会话变量 SESSION_CONTEXT 函数获 ALTER SYSTEM ALTER SESSION UNSET 命令取
消设置
例子:
例子中会话 200006 变量'MY_VAR' 设 'dummy':
ALTER SYSTEM ALTER SESSION 200006 SET 'MY_VAR' 'dummy'
ALTER SYSTEM ALTER SESSION UNSET
语法:
ALTER SYSTEM ALTER SESSION UNSET
语法元素: SAP HANA 数库– SQL 参考手册
163

应取消设置变量会话 ID

会话变量键值长度 32 字符
描述:
该命令取消设置数库会话会话变量
会话通 SESSION_CONTEXT 函数获
例子:
获前会话会话变量:
SELECT * FROM M_SESSION_CONTEXT WHERE CONNECTION_ID CURRENT_CONNECTION
特定会话中删会话变量:
ALTER SYSTEM ALTER SESSION 200001 UNSET 'MY_VAR'
ALTER SYSTEM CANCEL [WORK IN] SESSION
语法
ALTER SYSTEM CANCEL [WORK IN] SESSION
语法元素:

需会话会话 ID
描述:
通指定会话 ID 取消前正运行语句取消会话取消回滚执行中语句返回错
误代码 139(current operation cancelled by request and transaction rolled back)
例子:
面查询获取前连接 ID 执行语句
SELECT CCONNECTION_ID PSSTATEMENT_STRING
FROM M_CONNECTIONS C JOIN M_PREPARED_STATEMENTS PS
ON CCONNECTION_ID PSCONNECTION_ID AND CCURRENT_STATEMENT_ID PSSTATEM
ENT_ID
WHERE CCONNECTION_STATUS 'RUNNING' SAP HANA 数库– SQL 参考手册
164
AND CCONNECTION_TYPE 'Remote'
利文中查询语句获连接 ID现取消条正运行查询语句:
ALTER SYSTEM CANCEL SESSION '200001'
ALTER SYSTEM CLEAR SQL PLAN CACHE
语法:
ALTER SYSTEM CLEAR SQL PLAN CACHE
描述:
SQL PLAN CACHE 存储前执行 SQL 语句生成计划SAP HANA 数库该计划缓存加速查
询语句执行果样 SQL 语句 次执行计划缓存收集关计划准备执行数
监控视图中找更关 SQL 缓存计划容:
M_SQL_PLAN_CACHE M_SQL_PLAN_CACHE_OVERVIEW
ALTER SYSTEM CLEAR SQL PLAN CACHE 语句删前计划缓存没执行 SQL 计划该命令
计划缓存中删引计数 0 计划重置剩余计划统计数该命
令重置监控视图 M_SQL_PLAN_CACHE_OVERVIEW 容
例子:
ALTER SYSTEM CLEAR SQL PLAN CACHE
ALTER SYSTEM CLEAR TRACES
语法:
ALTER SYSTEM CLEAR TRACES ()
语法元素:
[]
通逗号分隔列表中加入 trace_types您时清追踪

通设置 trace_type 类型选择清特定追踪文件: SAP HANA 数库– SQL 参考手册
165

描述:
ALTER SYSTEM CLEAR TRACES 清追踪文件中追踪容您命令开设
SAP HANA 数库踪文件删清分布式系统中该命令清机
踪文件
命令减少踪文件磁盘空间例追踪组件设 INFO DEBUG
系统表 M_TRACEFILES M_TRACEFILE_CONTENTS 监控追踪文件容
例子:
清警告踪文件面命令:
ALTER SYSTEM CLEAR TRACES('ALERT')
清警告客户端踪文件面命令:
ALTER SYSTEM CLEAR TRACES('ALERT' 'CLIENT')
ALTER SYSTEM DISCONNECT SESSION
语法:
ALTER SYSTEM DISCONNECT SESSION
语法元素:

断开连接会话 ID
描述:
ALTER SYSTEM DISCONNECT SESSION 断开数库指定会话断开连接前会话
相关联正运行操作终止 SAP HANA 数库– SQL 参考手册
166
例子:
命令获空闲会话会话 ID:
SELECT CONNECTION_ID IDLE_TIME
FROM M_CONNECTIONS
WHERE CONNECTION_STATUS 'IDLE' AND CONNECTION_TYPE 'Remote'
ORDER BY IDLE_TIME DESC

命令断开会话连接

ALTER SYSTEM DISCONNECT SESSION '200001'
ALTER SYSTEM LOGGING
语法:
ALTER SYSTEM LOGGING
语法元素:
ON | OFF
描述:
启动禁日志
日志记录禁日志条目会持久化完成保存点数区写入数
会导致损失已提交事务 indexserver 加载中时终止终止情况必须截
断次插入数
启日志记录必须执行保存点确保数保存必须执行数备
份否恢复数
初次加载时该命令
ALTER TABLE ENABLEDISABLE DELTA LOG 单列表完成操作
ALTER SYSTEM RECLAIM DATAVOLUME
语法:
ALTER SYSTEM RECLAIM DATA VOLUME [SPACE] []

语法元素:
'host_nameport_number'
指定服务器持久层应减少: SAP HANA 数库– SQL 参考手册
167

指定载数量应减少百分
DEFRAGMENT | SPARSIFY
指定持续层减少策略默认值 DEFRAGEMENT请注意SPARSIFY 尚未支持保留备

描述:
该命令应持久层中未空间释放时减少数量载量 N% 工作原理
硬盘进行碎片整理散落页面数移动数量前端数量尾端空间
截断
果省略 该语句持久化分配服务器
例子:
面例子中架构中服务器持久层进行碎片整理减少载尺寸 120%
ALTER SYSTEM RECLAIM DATAVOLUME 120 DEFRAGMENT
ALTER SYSTEM RECLAIM LOG
语法:
ALTER SYSTEM RECLAIM LOG
描述:
数库中已积累量日志段时命令收回磁盘空间目前未日志

日志段积累种方式引起例动日志备份长期操作日志保存点阻塞
长时间样问题发生时修复日志积累根原 ALTER SYSTEM
CLAIM LOG 命令
例子:
回收目前未日志段磁盘空间面命令:
ALTER SYSTEM RECLAIM LOG
ALTER SYSTEM RECLAIM VERSION SPACE
语法:
ALTER SYSTEM RECLAIM VERSION SPACE SAP HANA 数库– SQL 参考手册
168
描述:
执行 MVCC 版垃圾回收重资源

ALTER SYSTEM RECONFIGURE SERVICE
语法:
ALTER SYSTEM RECONFIGURE SERVICE ()
语法元素:

希重新配置服务名称关服务类型列表请参阅监控视图 M_SERVICE_TYPES


重新配置服务机端口号
描述:
ALTER SYSTEM RECONFIGURE SERVICE 通应前配置参数重新配置指定服务
没 RECONFIGURE 选项 ALTER CONFIGURATION 修改配置参数该命令参见
ALTER SYSTEM ALTER CONFIGURATION
欲重新配置特定服务指定 留空
欲重新配置种类型服务指定 值 host> 留空
欲重新配置服务参数留空
例子:
命令重新配置 ld8520sapcom 机端口号 30303 服务:
ALTER SYSTEM RECONFIGURE SERVICE ('''ld8520sapcom'30303)
命令重新配置类型 indexserver 服务:
ALTER SYSTEM RECONFIGURE SERVICE ('indexserver'''0)
参见 ALTER SYSTEM ALTER CONFIGURATION
ALTER SYSTEM REMOVE TRACES SAP HANA 数库– SQL 参考手册
169
语法:
ALTER SYSTEM REMOVE TRACES ( )

语法元素:

删追踪记录机名
[]
通逗号分隔列表中添加条 trace_file 记录时删条追踪记录
see table below
trace_file 设置类型:

描述:
该命令删指定机中追踪文件减少追踪文件占硬盘空间某服务
追踪文件已开删种情况 ALTER SYSTEM CLEAR TRACES 命令清
追踪文件
例子:
命令删机 lu873sapcom ALERT 追踪文件:
ALTER SYSTEM REMOVE TRACES ('lu873sapcom' '*alert_*trc')
参见 ALTER SYSTEM CLEAR TRACES
ALTER SYSTEM RESET MONITORING VIEW
语法: SAP HANA 数库– SQL 参考手册
170
ALTER SYSTEM RESET MONITORING VIEW
语法元素:

重设重置监控视图名字
注意:监控视图该命令进行重置重设视图名字缀_RESET
通名字判断否重置
描述:
命令重置指定监视视图统计数
命令定义测量起始点首先重置监控视图然执行操作该操作
完成查询监控视图_RESET版获次重置收集统计信息
例子:
例子中重置SYSM_HEAP_MEMORY_RESET监控视图:
ALTER SYSTEM RESET MONITORING VIEW SYSM_HEAP_MEMORY_RESET
ALTER SYSTEM SAVE PERFTRACE
语法:
ALTER SYSTEM SAVE PERFTRACE [INTO FILE ]
语法元素:

原始性数保存文件
描述:
命令收集prf 文件中原始性数保存该信息tpt 文件tpt 文件保存 SAP
HANA 数库实例追踪文件目录中果未指定文件名文件保存'perftracetpt'
性追踪数文件(tpt)'SAP HANA Computing Studio'>DiagnosisFiles 载性追踪
利 SAP HANA 实例中 HDBAdmin 加载分析
监控视图:
性文件状态 M_PERFTRACE 监控
例子: SAP HANA 数库– SQL 参考手册
171
命令原始性数保存'mytracetpt'文件:
ALTER SYSTEM SAVE PERFTRACE INTO FILE 'mytracetpt'
ALTER SYSTEM SAVEPOINT
语法:
ALTER SYSTEM SAVEPOINT
描述:
持久层理器执行保存点保存点数库完整连续镜保存磁盘时间点该镜
重启数库
通常情况保存点定期执行[persistence]部分参数 savepoint_interval_s 配置特殊
(通常测试)目保存点会禁种情况命令手动执行保存

ALTER SYSTEM START PERFTRACE
语法:
ALTER SYSTEM START PERFTRACE [] [] [PLAN_EXECUTION]
[FUNCTION_PROFILER] [DURATION ]
语法元素:

限制 perftrace 收集指定 SQL 户名

限制指定 SQL 户名收集 perftrace应户通会话变量 APPLICATIONUSER 定义
PLAN_EXECUTION
收集计划执行细节:

FUNCTION_PROFILER
收集函数级细节:


duration_seconds perftrace 动停止果未指定该参数仅停止 ALTER SYSTEM STOP
PERFTRACE perftrace
描述: SAP HANA 数库– SQL 参考手册
172
开始性追踪
利'Explain Plan' 'Visualize Plan'逻辑级查语句执行利'Perfomance
Trace'语句执行记录线程函数级
次 perftrace 活动
性追踪文件状态 M_PERFTRACE 监控
例子:
ALTER SYSTEM START PERFTRACE sql_user app_user PLAN_EXECUTION FUNCTION_PROFILER
ALTER SYSTEM STOP PERFTRACE
语法:
ALTER SYSTEM STOP PERFTRACE
描述:
停止先前启动性追踪停止需利 ALTER SYSTEM SAVE PERFTRACE 收集保存性追
踪数
例子:
ALTER SYSTEM STOP PERFTRACE
ALTER SYSTEM STOP SERVICE
语法:
ALTER SYSTEM STOP SERVICE [IMMEDIATE [WITH COREFILE]]
语法元素:
| (')
停止服务位置
IMMEDIATE
立停止(中止)服务需等正常关机
WITH COREFILE
写入 core 文件
描述: SAP HANA 数库– SQL 参考手册
173
停止终止单者服务通常该服务守护进程重新启动
修改线更改参数
例子:
ALTER SYSTEM STOP SERVICE 'ld852030303'
UNSET SYSTEM LICENSE ALL
语法:
UNSET SYSTEM LICENSE ALL
描述:
删已安装许证密钥命令系统立锁定需新效许
证密钥然继续执行该命令需 LICENSE ADMIN 权限
例子:
UNSET SYSTEM LICENSE ALL
会话理语句
CONNECT
语法:
CONNECT
语法元素:

PASSWORD
| WITH SAML ASSERTION '


描述:
通指定 user_name 密码者指定 SAML 断言连接数库实例
例子:
CONNECT my_user PASSWORD myUserPass1
SET HISTORY SESSION
语法: SAP HANA 数库– SQL 参考手册
174
SET HISTORY SESSION TO
语法元素:

户应该指定确切会话旅行时间
NOW | COMMIT ID | UTCTIMESTAMP


描述:
SET HISTORY SESSION 前会话查历史记录表版户指定 COMMIT ID 中版
UTCTIMESTAMP 格式者通指定 NOW 回前版发布带 COMMIT ID
UTCTIMESTAMP SET HISTORY SESSION 前会话中旧版历史记录表
写进系统东西果定 NOW 选项前会话恢复正常会话前版
历史记录表写入系统命令适历史记录表普通表见性会受影响
例子
SELECT CURRENT_UTCTIMESTAMP FROM SYSDUMMY
SELECT LAST_COMMIT_ID FROM M_HISTORY_INDEX_LAST_COMMIT_ID WHERE SESSION_ID
CURRENT_CONNECTION COMMIT
SET HISTORY SESSION TO UTCTIMESTAMP '20120309 070141428'
SET HISTORY SESSION TO NOW
SET SCHEMA
语法:
SET SCHEMA
语法元素:
Schema_name
schema name string
描述:
修改会话前数集合前集合数库象(表名)名字例带集合名
字前缀表名
SET [SESSION]
语法:
SET [SESSION] SAP HANA 数库– SQL 参考手册
175
语法元素:

会话变量键值长度 32 字符

会话变量期值长度 512 字符
描述:
该命令设置数库会话会话变量通提供键值
注意:读会话变量该命令修改值:APPLICATION APPLICATIONUSER
TRACEPROFILE
会话变量 SESSION_CONTEXT 函数获 UNSET [SESSION]命令取消设置
例子:
SET 'MY_VAR' 'dummy'
SELECT SESSION_CONTEXT('MY_VAR') FROM dummy
UNSET 'MY_VAR'
UNSET [SESSION]
语法:
UNSET [SESSION]
语法元素:

会话变量键值长度 32 字符
描述:
UNSET [SESSION]取消设置前会话会话变量
注意:读会话变量该命令修改值:APPLICATION APPLICATIONUSER
TRACEPROFILE
例子:
SET 'MY_VAR' 'dummy' SAP HANA 数库– SQL 参考手册
176
SELECT SESSION_CONTEXT('MY_VAR') FROM dummy
UNSET 'MY_VAR'
事务理语句
COMMIT
语法:
COMMIT
描述:
该系统支持事务致性保证前作业完全应系统中者弃果户希持久应
前作业系统中户应 COMMIT 命令果 COMMIT 命令发出成功处理
改变应前事务完成系统中改变未开始作业见通 COMMIT 命令
已承诺工作恢复分布式系统中遵守标准两阶段提交协议第阶段事务
处理协调器询问位参者否准备提交结果发送第二阶段参者COMMIT 命
令适'autocommit'禁会话
例子:
COMMIT
LOCK TABLE
语法:
LOCK TABLE IN EXCLUSIVE MODE [NOWAIT]
描述:
LOCK TABLE 命令显式尝试获取表互斥锁果指定 NO WAIT 选项试图获表
锁果指定 NOWAIT 选项获锁返回错误代码前事务回滚
例子:
LOCK TABLE mytaable IN EXCLUSIVE MODE NOWAIT
ROLLBACK
语法:
ROLLBACK
描述:
该系统支持事务致性保证前作业完全应系统中者弃事务中间程
显式恢复 ROLLBACK 命令事务尚未执行发布 ROLLBACK 命令完全恢复事务SAP HANA 数库– SQL 参考手册
177
系统做变化前会话处闲置状态ROLLBACK 命令适'autocommit'禁会

例子:
ROLLBACK
SET TRANSACTION
语法:
SET TRANSACTION |
语法元素:
isolation_level ISOLATION LEVEL
隔离级设置数库中数语句级读致性果省略 isolation_level默认值 READ
COMMITTED
level READ COMMITTED | REPEATABLE READ | SERIALIZABLE
READ COMMITTED
READ COMMITTED 隔离级提供事务程中语句级读致性语句开始执行时事务中
条语句已提交状态数意味着事务中语句会执行时数库
中快数事务中提交
REPEATABLE READSERIALIZABLE
REPEATABLE READSERIALIZABLE 隔离级提供事务级快隔离事务语句享数库样
快该快包含已提交事务开始时间事务身修改
transaction_access_mode READ ONLY | READ WRITE
SQL 事务访问模式控制事务否执行期间修改数果省略
transaction_access_mode默认值 READ ONLY
READ ONLY
果设置 READ ONLY 访问模式允许读 SELECT 语句果种模式尝试更新
插入操作会抛出异常
READ WRITE
果设置 READ WRITE 访问模式事务中语句需读取更改数库数

描述: SAP HANA 数库– SQL 参考手册
178
SAP HANA 数库版发控制 (MVCC) 确保读取操作致性发读操作阻塞发
写操作数库中数致视图发读操作阻塞发写数库数致视图更新操
作通插入数新版覆盖已数执行
指定隔离级确定锁操作类型系统时支持语句级快隔离事务级快隔离
 语句级快隔离
READ COMMITED
 事务级快隔离
REPEATABLE READ 者 SERIALIZABLE
事务中记录插入更新删时系统事务执行中受影响记录设置互斥锁
持续时间受影响表设置锁样保证表中记录正更新时该表会删
更改数库事务结束时释放锁
注意:读取操作设置数库中表行锁种隔离级
数定义语言事务隔离
数定义语言(DDL) 语句(CREATE TABLE DROP TABLE CREATE VIEW etc )总立 SQ 语句
生效种隔离级种行例子请考虑面序:
1 长期运行 SERIALIZABLE 隔
离事务表 C 开始操作
2 DDL 语句事务外运行添
加列新列表 C
3 SERIALIZABLE 隔离事务
DDL 语句执行完毕新生成列访问访问发生种隔离级
例子:
SET TRANSACTION READ COMMITTED
访问控制语句
ALTER SAML PROVIDER
ALTER SAML PROVIDER WITH SUBJECT ISSUER _distinguished_name>
语法元素:

SAP HANA 数库– SQL 参考手册
179




描述:
ALTER SAML PROVIDER 语句修改 SAP HANA 数库已知 SAML 提供商属性
必须现 SAML 提供商拥系统权限 USER ADMIN 数库
户允许修改 SAML 提供商
SAML 身份提供程序中证书应名字
系统监控视图:
SAML_PROVIDER:显示 SAML 提供商题名 issuer_name
ALTER USER
语法:
ALTER USER
语法元素:



PASSWORD []
|
| IDENTIFIED EXTERNALLY AS []
| RESET CONNECT ATTEMPTS
| DROP CONNECT ATTEMPTS
| DISABLE PASSWORD LIFETIME
| FORCE PASSWORD CHANGE
| DEACTIVATE [USER NOW]
| ACTIVATE [USER NOW]
| DISABLE
| ENABLE
| ADD IDENTITY
| ADD IDENTITY FOR KERBEROS
| DROP IDENTITY
| DROP IDENTITY FOR KERBEROS
|
PASSWORD | KERBEROS | SAML
SAP HANA 数库– SQL 参考手册
180
FOR SAML PROVIDER
| FOR KERBEROS

ANY
|


FOR SAML PROVIDER



[]
|

SET PARAMETER CLIENT

CLEAR PARAMETER CLIENT
| CLEAR ALL PARAMETERS


描述:
ALTER USER 语句修改数库户必须指定现数库户
户执行 ALTER USER非户指定
户拥系统权限 USER ADMIN 权限户执行 ALTER USER
PASSWORD 创建户修改 EXTERNALLY反然
修改
命令更改户密码密码修改必须遵循前数库定义规包括密码
长度定义字符类型(写写数字特殊字符)必须密码部分户根指定数
库实例定义策略必须定期更换密码者首次连接数库实例户更改密

更改外部认证外部户外部系统需进行身份验证例Kerberos 系统
户没密码 Kerberos 实体名称关外部身份详细信息请联系您域理员
设置修改者清户参数 CLIENT
数库中户设置户参数 CLIENT
报表时该户参数 CLIENT 限制户 访问关特定客户端信息
户指定
果成功连接(正确户密码组合)前达参数 MAXIMUM_INVALID_CONNECT_ATTEMPTS
(参见监控视图 M_PASSWORD_POLICY)定义错误次数户允许重新连接前锁定SAP HANA 数库– SQL 参考手册
181
分钟拥系统权限 USER ADMIN 户者户命令 ALTER USER
RESET CONNECT ATTEMPTS 删已发生效连接尝试信息
拥系统权限 USER ADMIN 户命令 ALTER USER DISABLE PASSWORD
LIFETIME 排户密码生命周期检查应该技术户非正常
数库户
拥系统权限 USER ADMIN 户命令 ALTER USER FORCE PASSWORD
CHANGE 强制户次连接立修改密码然正常工作
拥系统权限 USER ADMIN 户命令 ALTER USER DEACTIVATE USER NOW
关闭锁定户账号户账号关闭锁定户连接
SAP HANA 数库欲重新激活解锁户系统权限 USER ADMIN 户命令
USER ACTIVATE USER NOW者户 PASSWORD 身份验证机制情况
ALTER USER PASSWORD 重设户密码
拥系统权限 USER ADMIN 户命令 ALTER USER ACTIVATE USER NOW 重
新激活解锁前已关闭户账号
配置参数:
关密码配置参数查监控视图 M_PASSWORD_POLICY参数存储
indexserverini'password policy'部分中相关参数描述 SAP HANA 安全指南附录密码策
略参数中找
系统监控视图
USERS 显示户户创建者创建时间前状态信息
USER_PARAMETERS:显示定义 user_parameters目前提供 CLIENT
INVALID_CONNECT_ATTEMPTS:显示户效连接尝试次数
LAST_USED_PASSWORDS 显示户次密码修改日期
M_PASSWORD_POLICY:显示描述密码允许样式配置参数生命周期
例子:
定密码连接数库已 SAML 提供商 OUR_PROVIDER 断言前户名
NEW_USER 户已创建完成断言提供数库户名
ANY语句完成
CREATE USER new_user PASSWORD Password1 WITH IDENTITY ANY FOR SAML PROVIDER
OUR_PROVIDER
现该户强制修改密码户禁止 SAML SAP HANA 数库– SQL 参考手册
182
ALTER USER new_user FORCE PASSWORD CHANGE
ALTER USER new_user DISABLE SAML
假设户已频繁尝试错误密码理员重置效连接尝试数零
ALTER USER new_user RESET CONNECT ATTEMPTS
户 new_user 应允许 KERBEROS 机制进行身份验证需定义该连接外部身份
ALTER USER new_user ADD IDENTITY 'testkerberosName' FOR KERBEROS
ALTER USER new_user ENABLE KERBEROS
方面户 new_user 放松 SAML 提供商 OUR_PROVIDER 断言性
ALTER USER new_user DROP IDENTITY FOR SAML PROVIDER OUR_PROVIDER
理员希禁止户 new_user 连接执行疑操作
ALTER USER new_user DEACTIVATE
CREATE ROLE
语法:
CREATE ROLE
语法元素:

描述:
CREATE ROLE 语句创建新角色
拥系统权限 ROLE ADMIN 户创建新角色
指定角色名称现户角色名称相
角色权限命名集合授予户角色果想允许数库户执行相
操作创建角色授予该角色需权限角色授予数库户
户允许权限授予已角色拥系统权限 ROLE ADMIN 户
角色授予角色户
SAP HANA 数库提供四种角色:
PUBLIC
数库户默认已授予该角色 SAP HANA 数库– SQL 参考手册
183
该角色包括读访问系统视图监控视图存储程执行权限权限撤销
该角色授予撤销权限
MODELING
该角色包含 SAP HANA Studio 信息建模器需权限
CONTENT_ADMIN
该角色包含 MODELING 角色相角色扩展该角色允许授予户权
限外包含导入象工作元库权限
MONITORING
该角色包含元数前系统状态监控视图服务器统计数读访问
系统监控视图:
ROLES:显示角色创建者创建时间
GRANTED_ROLES:显示户角色授予角色
GRANTED_PRIVILEGES:显示户角色授予权限
例子:
创建名称 role_for_work_on_my_schema 角色
CREATE ROLE role_for_work_on_my_schema
CREATE SAML PROVIDER
语法:
CREATE SAML PROVIDER WITH SUBJECT
ISSUER
语法元素:






描述:
CREATE SAML PROVIDER 语句定义 SAP HANA 数库已知 SAML 提供商
须已 SAML 提供商 SAP HANA 数库– SQL 参考手册
184
拥系统权限 USER ADMIN 户创建 SAML 提供商该权限户允许删
SAML 提供商
需现 SAML 提供商够户指定 SAML 连接
SAML 提供商 X509 证书题发布者 X500 分辨名
字名字语法 ISOIEC 95941 中找
SAML 概念详细细节 Oasis SAML 20 中找
系统监控视图:
SAML_PROVIDERS:显示 SAML 提供商题名发布者名字
例子:
创建名称 gm_saml_provider SAML 提供商指定题发布者属公司
CREATE SAML PROVIDER gm_saml_provider
WITH SUBJECT 'CN wikidetroitgeneralmotorscorpOU GMNetO GeneralMotors
C EN'
ISSUER 'E JohnDo@gmcomCN GMNetCAOU GMNetO GeneralMotorsC EN'
CREATE USER
语法:
CREATE USER
[PASSWORD ]
[IDENTIFIED EXTERNALLY AS ]
[WITH IDENTITY ]
[]
语法元素:






|

FOR SAML PROVIDER
| FOR KERBEROS

ANY
|

SAP HANA 数库– SQL 参考手册
185

SET PARAMETER CLIENT
描述:
CREATE USER 创建新数库户
拥系统权限 USER ADMIN 户创建数库户
指定户名必须已户名角色名集合名相
SAP HANA 数库提供户:SYS SYSTEM _SYS_REPO_SYS_STATISTICS
数库中户通机制进行身份验证部密码身份验证机制外部
Kerberos SAML 等机制验证户时止种方式进行身份验证时
间密码外部识效相反时间
户存少需指定种验证机制允许户连接数库实例工

兼容性原语法 IDENTIFIED EXTERNALLY AS FOR
KERBEROS 会继续
密码必须遵循前数库定义规密码修改必须遵循前数库定义规包括密
码长度定义字符类型(写写数字特殊字符)必须密码部分户根指定数
库实例定义策略必须定期更换密码执行 CREATE USER 命令期间提供密码视已
提供会修改写作
外部户外部系统进行身份验证例 Kerberos 系统户没密码 Kerberos
实体名称关外部身份详细信息请联系您域理员
果 ANY 作映射户名SAML 断言包含断言生效数库户名
必须指定已 SAML 提供商
数库中户设置户参数 CLIENT
报表时该户参数 CLIENT 限制户 访问关特定客户端信息
户指定
数库户数集合包含户名方式创建显式删户删时该
集合删数库户拥该集合显式指定集合名称时作默认集合

配置参数:
密码相关配置参数监控视图 M_PASSWORD_POLICY 查参数存储 indexserverini
'password policy'部分中相关参数描述 SAP HANA 安全指南附录密码策略参数中找
SAP HANA 数库– SQL 参考手册
186
系统监控视图:
USERS 显示户户创建者创建时间前状态信息
USER_PARAMETERS:显示定义 user_parameters目前提供 CLIENT
INVALID_CONNECT_ATTEMPTS:显示户效连接尝试次数
LAST_USED_PASSWORDS 显示户次密码修改日期
M_PASSWORD_POLICY:显示描述密码允许样式配置参数生命周期
SAML_PROVIDERS显示已 SAML 提供商
SAML_USER_MAPPING:显示 SAML 提供商映射户名
例子:
定密码连接数库已 SAML 提供商 OUR_PROVIDER 断言前户名
NEW_USER 户已创建完成断言提供数库户名
ANY语句完成
CREATE USER new_user PASSWORD Password1 WITH IDENTITY ANY FOR SAML PROVIDER
OUR_PROVIDER
DROP ROLE
语法:
DROP ROLE
语法元素:

例子:
DROP ROLE 语句删角色必须指定已存角色
拥系统权限 ROLE ADMIN 户删角色该权限户允许删意角色
SAP HANA 提供角色删:PUBLIC CONTENT_ADMIN MODELING and MONITORING
果角色授予户角色角色删时撤销撤销角色会导致视图法访问
者存储程工作果视图存储程赖该角色中意权限会发生种情

系统监控视图:
ROLES:显示角色创建者创建时间
GRANTED_ROLES:显示户角色授予角色
GRANTED_PRIVILEGES:显示户角色授予权限
例子: SAP HANA 数库– SQL 参考手册
187
创建名 role_for_work_on_my_schema 角色立删
CREATE ROLE role_for_work_on_my_schema
DROP ROLE role_for_work_on_my_schema
DROP SAML PROVIDER
语法:
DROP SAML PROVIDER
语法元素:


描述:
DROP SAML PROVIDER 语句删指定 SAML 提供商必须已
SAML 提供商果指定 SAML 提供商正 SAP HANA 户该提供商删
拥系统 USER ADMIN 权限户删 SAML 提供商
系统监控视图:
SAML_PROVIDERS显示 SAML 提供商题名称 issuer_name
DROP USER
语法:
DROP USER []
语法元素:


CASCADE | RESTRICT
Default RESTRICT
描述:
DROP USER 语句删数库户必须指定已数库户
拥系统 USER ADMIN 权限户删户拥该权限户删户SAP
HANA 数库提供户删:SYS SYSTEM _SYS_REPO_SYS_STATISTICS SAP HANA 数库– SQL 参考手册
188
果显式隐式指定 RESTRICT户数集合者创建
集合者该户集合存非创建象时该户删
果指定 CASCADE包含户名集合属该户集合连存
集合中象(户创建)起删户拥象集合中部
分删赖已删象象删已删户拥公义词
已删象权限撤销授予已删户权限撤销撤销权限会造成更撤
销操作果权限进步授予
已删户创建户创建角色会删已删户创建审核策略会

果户存已开会话然删该户
系统监控视图:
已删户视图删:
USERS 显示户户创建者创建时间前状态信息
USER_PARAMETERS:显示定义 user_parameters目前提供 CLIENT
INVALID_CONNECT_ATTEMPTS:显示户效连接尝试次数
LAST_USED_PASSWORDS 显示户次密码修改日期
M_PASSWORD_POLICY:显示描述密码允许样式配置参数生命周期
象删影响描述象系统视图例 TABLES VIEWSPROCEDURES
象删影响描述权限视图:例 GRANTED_PRIVILEGES 监控视图例
M_RS_TABLES M_TABLE_LOCATIONS
例子:
例条语句创建名称 NEW_USERd 户:
CREATE USER new_user PASSWORD Password1
已户 new_user 删连象起:
DROP USER new_user CASCADE
GRANT
语法:
GRANT TO [WITH ADMIN OPTION]
| GRANT ON SCHEMA TO [WITH GRANT OPT
ION]
| GRANT ON TO [WITH GRANT OPTION]
| GRANT TO [WITH ADMIN OPTION]
| GRANT STRUCTURED PRIVILEGE TO SAP HANA 数库– SQL 参考手册
189

语法元素:

AUDIT ADMIN | BACKUP ADMIN
| CATALOG READ | CREATE SCENARIO
| CREATE SCHEMA | CREATE STRUCTURED PRIVILEGE
| DATA ADMIN | EXPORT
| IMPORT | INIFILE ADMIN
| LICENSE ADMIN | LOG ADMIN
| MONITOR ADMIN | OPTIMIZER ADMIN
| RESOURCE ADMIN | ROLE ADMIN
| SAVEPOINT ADMIN | SCENARIO ADMIN
| SERVICE ADMIN | SESSION ADMIN
| STRUCTUREDPRIVILEGE ADMIN | TRACE ADMIN
| USER ADMIN | VERSION ADMIN
|
系统权限限制理务定义系统权限:
AUDIT ADMIN
该权限控制审计关命令执行:CREATE AUDIT POLICY DROP AUDIT POLICY and ALTER AUDIT
POLICY
BACKUP ADMIN
该权限授权 ALTER SYSTEM BACKUP 命令定义启动备份进程执行恢复程
CATALOG READ
该权限赋予户未滤读访问系统监控视图正常情况视图容
根正访问户权限滤权限 CATALOG READ 户读访问系统监控视图

CREATE SCENARIO
该权限控制计算场景维数集(数库计算)创建
CREATE SCHEMA
该权限控制 CREATE SCHEMA 命令创建数库数集合户集合拥该权限
户允许创建更集合
CREATE STRUCTURED PRIVILEGE
该权限授权创建结构化权限(分析权限)注意分析权限者进步授予
户者角色撤销 SAP HANA 数库– SQL 参考手册
190
DATA ADMIN
该强权限授权读取系统监控视图中数包括 SAP HANA 数库中执行 DDL (Data
Definition Language) DDL 命令表示拥该权限户选择者修改存储户
表中数修改表定义甚删该表
EXPORT
该权限授权通 EXPORT TABLE 命令导出数库中活动注意该权限户需导
出源表 SELECT 权限
IMPORT
该权限授权通 IMPORT TABLE 命令导入数库中活动注意该权限户需
导入目标表 SELECT 权限
INIFILE ADMIN
该权限授权修改系统设置方式
LICENSE ADMIN
该权限授权 SET SYSTEM LICENSE 命令安装新许
LOG ADMIN
该权限授权 ALTER SYSTEM LOGGING [ON|OFF] 命令启禁 刷新日志机制
MONITOR ADMIN
该权限授权关 EVENT ALTER SYSTEM 命令
OPTIMIZER ADMIN
该权限授权关 SQL PLAN CACHE ALTER SYSTEM ALTER SYSTEM 命令
UPDATE STATISTICS 命令影响查询优化器行
RESOURCE ADMIN
该权限授权关资源例 ALTER SYSTEM RECLAIMDATAVOLUME ALTER SYSTEM RESET
MONITORING VIEW 命令授权 Management Console 中许命令
ROLE ADMIN
该权限授权 CREATE ROLE 命令创建删角色时授权 GRANT REVOKE 命令授予
撤销角色 SAP HANA 数库– SQL 参考手册
191
SAVEPOINT ADMIN
该权限 ALTER SYSTEM SAVEPOINT 命令授权保存点流程执行
SCENARIO ADMIN
该权限授权计算场景相关活动包括新建
SERVICE ADMIN
该权限授权 ALTER SYSTEM [START|CANCEL|RECONFIGURE] 命令理数库中系统服务

SESSION ADMIN
该权限授权会话相关 ALTER SYSTEM 命令 停止重新连接户会话者修改会话参数
STRUCTUREDPRIVILEGE ADMIN
该权限授权结构化权限创建重新激活删
TRACE ADMIN
该权限授权数库追踪文件操作 ALTER SYSTEM [CLEAR|REMOVE] TRACES 命令
USER ADMIN
该权限授权 CREATE USER ALTER USER and DROP 命令创建修改户
VERSION ADMIN
该权限授权版发控制(MVCC) ALTER SYSTEM RECLAIM VERSION SPACE command 命令

SAP HANA 数库组件创建需权限权限组件名作系统权限第标识
符组件权限名字作第二标识符目前元库该特点关名 REPO
限请参阅元库手册

CREATE ANY
| DEBUG
| DELETE
| DROP
| EXECUTE
| INDEX
| INSERT
| SELECT
| TRIGGER
| UPDATE SAP HANA 数库– SQL 参考手册
192
数集合权限集合存储该集合中象访问修改集合权限定义:
CREATE ANY
该权限允许户数库中创建种象尤表视图序列义词SQL 脚者存
储程
DELETE DROP EXECUTE INDEX INSERT SELECT UPDATE
指定权限授予目前存储集合中象关权限详细说明请参阅面
描述象权限部分请检查权限适类型象

ALL PRIVILEGES
| ALTER
| DEBUG
| DELETE
| DROP
| EXECUTE
| INDEX
| INSERT
| SELECT
| TRIGGER
| UPDATE
|
象权限限制户访问修改数库象例表视图序列者存储程诸
类权限适类型数库象
象类型允许权限见表
象权限定义:
ALL PRIVILEGES
该权限 DDL(数定义语言) DML(数操语言)权限组合该权限方面授予
目前允许进步授予权限方面特定象授予权限该组合定
授予象进行动态评估ALL PRIVILEGES 适表试图
ALTER
该 DDL 权限授权象 ALTER 命令
DEBUG
该 DML 权限授权 存储程者计算视图调试功
DELETE
该 DML 权限授权象 DELETE TRUNCATE 命令 SAP HANA 数库– SQL 参考手册
193
DROP
该 DDL 权限授权象 DROP 命令
EXECUTE
该 DML 权限授权 SQL Script 函数者 CALLS CALL 命令存储程
INDEX
该 DDL 权限授权象索引创建修改者删
INSERT
该 DML 权限授权象 INSERT 命令INSERT 连 UPDATE 权限起允许该象 REPLACE
UPSERT 命令
SELECT
该 DML 权限授予象 SELECT 命令者序列
TRIGGER
该 DDL 权限授权指定表者指定集合中表 CREATE TRIGGER DROP TRIGGER 命令
UPDATE
该 DML 权限授权象 UPDATE 命令 INSERT 连 UPDATE 权限起允许该象 REPLACE
UPSERT 命令

SAP HANA 数库组件创建需权限权限组件名作系统权限第标识
符组件权限名字作第二标识符目前元库该特点关名 REPO
限请参阅元库手册 SAP HANA 数库– SQL 参考手册
194

视图 DELETE INSERT and UPDATE 操作适更新视图表示视图遵守样
限制:包含联接 UNION没聚合进步限制
DEBUG 计算视图适非类型视图
限制适义词义词代表象适


|
|
|
|
象权限限制户访问修改数库象例表视图序列存储程义词


|
grantee 户者角色权限角色授予角色情况角色授予户
指定权限角色
角色权限命名集合授予户角色
果想允许数库户执行相操作创建角色授予该角色需权限
角色授予数库户 SAP HANA 数库– SQL 参考手册
195
授予角色角色时建立颗角色树角色(R)授予角色者户(G) G 拥
直接授予 R 权限角色









描述:
GRANT 授予权限结构化权限户角色授予权限户角色
指定户角色象结构化权限必须 GRANT 命令前已存
拥权限允许进步授予权限户授予权限拥 ROLE ADMIN 权限户
允许授予角色角色户
户授予权限
SYSTEM 户少系统权限 PUBLIC 角色户 PUBLIC 角色权限角
色撤销
然 SYSTEM 户拥许权限该户选择者修改户表果没显式授
权样做
SYSTEM 户默认集合中创建象权限名字户身样
户创建表拥权限权限授予户角色
赖例基表视图象发生户果没底层象权限赖
象没权限者发生户权限允许进步授权该户授予
权限
WITH ADMIN OPTION WITH GRANT OPTION 指定已分配权限特定户进步分配
者拥指定角色户分配
GRANT STRUCTURED PRIVILEGE 前定义分析权限(基
通结构化权限)分配户角色该分析权限限制读访问分析视图属性视图
计算视图特定数通滤属性值
系统监控视图:
USERS 显示户户创建者创建时间前状态信息
ROLES:显示角色创建者创建时间 SAP HANA 数库– SQL 参考手册
196
GRANTED_ROLES:显示户角色授予角色
GRANTED_PRIVILEGES:显示户角色授予权限
例子:
假设已创建拥创建集合角色户权限户新建数集合:
CREATE SCHEMA myschema
外该集合中新建张名 work_done 表
CREATE TABLE myschemawork_done (t TIMESTAMP user NVARCHAR (256) work_done VARCHAR (256)
创建新户 named worker定密码名
role_for_work_on_my_schema 角色连接数库
CREATE USER worker PASSWORD His_Password_1
CREATE ROLE role_for_work_on_my_schema
集合象 SELECT 权限授予 role_for_work_on_my_schema 角色:
GRANT SELECT ON SCHEMA myschema TO role_for_work_on_my_schema
外户表 work_done to INSERT 权限授予 role_for_work_on_my_schema 角色:
GRANT INSERT ON myschemawork_done TO role_for_work_on_my_schema
接着角色授予新户:
GRANT role_for_work_on_my_schema TO worker WITH GRANT OPTION
外worker 户直接授予表删权限该权限选项允许进步授予权限
GRANT DELETE ON myschemawork_done TO worker
现户创建类型象权限授予 worker 户:
GRANT CREATE ANY ON SCHEMA myschema TO worker
结果worker 户拥集合 myschema 表视图 SELECT 权限表 myschemawork_done
INSERT DELETE 权限集合 myschema 创建象权限外该户允许授予表
myschemawork_done DELETE 权限户角色
第二例子中户相应权限包括允许进步授予权限系统权限 INIFILE ADMIN
TRACE ADMIN 授予已户 worker允许 worker 进步授予权限
GRANT INIFILE ADMIN TRACE ADMIN TO worker WITH ADMIN OPTION SAP HANA 数库– SQL 参考手册
197
REVOKE
语法:
REVOKE FROM
|| REVOKE ON SCHEMA FROM
| REVOKE ON FROM
| REVOKE FROM
| REVOKE STRUCTURED PRIVILEGE FROM
语法元素:
关语法元素定义参见 GRANT
描述:
REVOKE 语句撤销指定角色者结构化权限者指定户角色指定象中撤销权限
拥授权户撤销该权限 ROLE ADMIN 户角色撤销样
SYSTEM 户少系统权限 PUBLIC 角色户 PUBLIC 角色权限角
色撤销
果户授予角色撤销属该角色权限种情况必须撤销
角色需户已授予权限
果角色授予户角色角色删时撤销撤销角色会导致视图法访问
者存储程工作果视图存储程赖该角色中意权限会发生种情

撤销已 WITH GRANT OPTION WITH ADMIN OPTION 授权权限导致仅指定户中撤
销该户直接间接授权户角色权限中撤销
权限户授户角色户撤销该权限定意味着该户失
权限关语法元素详请请参见 GRANT
系统监控视图:
USERS 显示户户创建者创建时间前状态信息
ROLES:显示角色创建者创建时间
GRANTED_ROLES:显示户角色授予角色
GRANTED_PRIVILEGES:显示户角色授予权限
例子:
假设户已执行语句:
CREATE USER worker PASSWORD His_Password_1
CREATE ROLE role_for_work_on_my_schema SAP HANA 数库– SQL 参考手册
198
CREATE TABLE myschemawork_done (t TIMESTAMP user NVARCHAR (256) work_done VARCHAR (256)
GRANT SELECT ON SCHEMA myschema TO role_for_work_on_my_schema
GRANT INSERT ON myschemawork_done TO role_for_work_on_my_schema
GRANT role_for_work_on_my_schema TO worker
GRANT TRACE ADMIN TO worker WITH ADMIN OPTION
GRANT DELETE ON myschemawork_done TO worker WITH GRANT OPTION
已授权户允许撤销权限角色中撤销权限暗示着已授予角色户
撤销权限外worker 户 TRACE ADMIN 权限撤销权限导致撤回操作发生
worker 户授予该权限户
REVOKE SELECT ON SCHEMA myschema FROM role_for_work_on_my_schema
REVOKE TRACE ADMIN FROM worker
数导入导出语句
EXPORT
语法:
EXPORT AS INTO [WITH
]
语法元素:
WITH
WITH 子句传入 EXPORT 选项
| ALL
BINARY | CSV
'FULL_PATH'
|

REPLACE |
CATALOG ONLY |
NO DEPENDENCIES |
SCRAMBLE [BY ] |
THREADS
描述:
EXPORT 命令指定格式 BINARY 者 CSV导出表视图列视图义词序列者存储
程时表数no logging表 EXPORT 导出表 SAP HANA 数库– SQL 参考手册
199
OBJECT_NAME
导出象 SQL 名欲导出集合象 ALL 关键字果想导出指定
集合象应该集合名星号SYSTEM*
BINARY
表数部 BINARY 格式导出种方式导出数 CSV 格式快数量级列
式表二进制格式导出行式表总 CSV 格式导出指定 BINARY 格式
CSV
表数 CSV 格式导出导出数导入数库中外导出数序
乱列式行式表 CSV 格式导出
FULL_PATH
导出服务器路径
注意:分布式系统FULL_PATH 必须指享磁盘安全性原路径包
含符号链接指数库实例文件夹'backup' 'work'子文件夹效路径
(假设数库实例位usrsapHDBHDB00)例子:
'tmp'

'usrsapHDBHDB00backup'

'usrsapHDBHDB00work'

REPLACE
REPLACE 选项前导出数删保存新导出数果未指定 REPLACE 选
项果指定目录存先前导出数抛出错误
CATALOG ONLY
CATALOG ONLY 选项导出数库目录含数
NO DEPENDENCIES
NO DEPENDENCIES 选项导出已导出象相关象
SCRAMBLE
CSV 格式导出时 SCRAMBLE [BY '']扰乱敏感客户数未指定额外
数库默认扰乱密码扰乱字符串数导入数时扰乱数乱序方式
导入终户法读取数回复原状
THREADS
表示行导出线程数
线程数
定 THREADS 数目指定行导出象数默认 1增加数字减少导出时间会影响
系统性 SAP HANA 数库– SQL 参考手册
200
应考虑:
 单表THREADS 没效

 视图者存储程应
2 更线程(取决象数)
 整集合考虑余
10 线程(取决系统核数)
 整 BW ERP 系统(ALL 关
键字)千张表数量线程合理( 256)
系统监控视图:
系统视图 M_EXPORT_BINARY_STATUS 监控导出进度
语句中会话 ID 相应视图中终止导出会话
ALTER SYSTEM CANCEL [WORK IN] SESSION 'sessionId'
导出详细结果存储会话时表#EXPORT_RESULT
例子:
EXPORT SCHEMA* AS CSV INTO 'tmp' WITH REPLACE SCRAMBLE THREADS 10
IMPORT
语法:
IMPORT [AS ] FROM [WITH ]
语法元素:
WITH
WITH 子句传入 IMPORT 选项
| ALL
BINARY | CSV
'FULL_PATH'
|

REPLACE |
CATALOG ONLY |
NO DEPENDENCIES |
THREADS SAP HANA 数库– SQL 参考手册
201
描述:
IMPORT 命令导入表视图列视图义词序列者存储程时表数no logging
表 IMPORT 导入
OBJECT_NAME
导入象 SQL 名欲导入路径中象 ALL 关键字果想象导入
指定集合应该集合名星号SYSTEM*
BINARY | CSV
导入程忽略格式定义导入程中动检测格式导出样格式导

FULL_PATH
该服务器路径导入
注意:分布式系统FULL_PATH 必须指享磁盘果未指定 REPLACE 选项指
定目录存相名字表抛出错误
CATALOG ONLY
CATALOG ONLY 选项导入数库目录含数
NO DEPENDENCIES
NO DEPENDENCIES 选项导入已导入象相关象
THREADS
表示行导入线程数
线程数
定 THREADS 数目指定行导入象数默认 1增加数字减少导入时间会影响
系统性
应考虑:
 单表THREADS 没效

 视图者存储程应
2 更线程(取决象数)
 整集合考虑余
10 线程(取决系统核数)
 整 BW ERP 系统(ALL 关
键字)千张表数量线程合理( 256)
系统监控视图: SAP HANA 数库– SQL 参考手册
202
系统视图 M_IMPORT_BINARY_STATUS 监控导入进度
语句中会话 ID 相应视图中终止导入会话
ALTER SYSTEM CANCEL [WORK IN] SESSION 'sessionId'
导入详细结果存储会话时表#IMPORT_RESULT
IMPORT FROM
语法:
IMPORT FROM [] [INTO ] [WITH ]
语法元素:
WITH
WITH 子句传入 IMPORT FROM 选项

[]
| ort_from_option>

THREADS |
BATCH |
TABLE LOCK |
NO TYPE CHECK |
SKIP FIRST ROW |
COLUMN LIST IN FIRST ROW |
COLUMN LIST ( ) |
RECORD DELIMITED BY '' |
FIELD DELIMITED BY '' |
OPTIONALLY ENCLOSED BY '' |
DATE FORMAT '' |
TIME FORMAT '' |
TIMESTAMP FORMAT '' |
描述:
IMPORT FROM 语句外部 csv 文件数导入已表中
THREADS:表示行导出线程数默认值 1值 256
BATCH:表示提交中插入记录数
THREADS BATCH 通启行加载次提交条记录实现加载高性般言
列式表 10 行加载线程 10000 条记录提交频率较设置 SAP HANA 数库– SQL 参考手册
203
TABLE LOCK:锁住表更快导入数列式表果指定 NO TYPE CHECK记录插入
时检查字段类型
SKIP FIRST ROW:跳插入前 n 条记录
COLUMN LIST IN FIRST ROW:表示 CSV 文件中第行列
COLUMN LIST ( ):表示插入字段列表
RECORD DELIMITED BY '':表示 CSV 文件中记录分隔符
FIELD DELIMITED BY '':表示 CSV 文件中字段分隔符
OPTIONALLY ENCLOSED BY '':表示字段数选关闭符
DATE FORMAT '':表示字符日期格式果 CSV 文件日期类型日期类型字段
指定格式
TIME FORMAT '':表示字符时间格式果 CSV 文件时间类型时间类型字段
指定格式
TIMESTAMP FORMAT '':表示字符时间戳格式果 CSV 文件时间戳类型日期
类型字段指定格式
例子:
IMPORT FROM CSV FILE 'datadatacsv' INTO MYSCHEMAMYTABLE WITH RECORD DELIMITED BY
'\n' FIELD DELIMITED BY ''








SAP HANA 数库– SQL 参考手册
204
SQL 语句限制
面表格列出条记录允许限制
Database
数库限制 存储限制 RS 1TB

锁数量

记录锁没限制表限制
16384 会话数量 8192

Schemas
数集合表数量 131072
标识符长度 127 字符
名长度 128 字符
表名长度 请参见面标识符长度
列名长度 请参见面标识符长度
字符常量长度 32767 字节
二进制数中十六进制字符数 8192

Tables and Views
张表中列数量 1000
张视图列数量 1000
张列式表中分区数 1000 SAP HANA 数库– SQL 参考手册
205

张表中行数

存储限制 RS lTBsizeof(row)
CS 2A31 * number of partitions
行长度 RS 存储限制 size (1TB )
非分区表 RS 存储限制 size (1TB )

Indexes and Constraints
张表索引数量 1023
张表中键数量 16
索引中列数量 16
UNIQUE 约束中列数量 16
键索引 UNIQUE 约束数量总
16384

SQL
SQL 语句长度 2GB
SQL 嵌套视图深度 128
SQL 解析树深度 255
SQL 语句视图中联接表数量 255

ORDER BYGROUPSELECT 子句中列数量
65535 SAP HANA 数库– SQL 参考手册
206


















谓词中元素数量 65535
SELECT 子句中元素数量 65535

SQLScript
存储程 RS 存储限制 size ( 1TB ) SAP HANA 数库– SQL 参考手册
207
SQL 错误代码
表列出 SAP HANA 显示错误代码描述
1 General warning 普通警告
2 General error 普通错误
3 Fatal error 致命错误
4 Cannot allocate enough memory 法分配足够存
5 Initialization error 初始化错误
6 Invalid data 效数
7 Feature not supported 支持该功
8 Invalid argument 非法参数
9 Index out of bounds 标越界
10 Invalid username or password 效户名密码
11 Invalid state 效状态
12 Cannot open file 法开文件
13 Cannot createwrite file 法创建写文件
14 Cannot allocate enough disk space 法分配足够磁盘空间
15 Cannot find file 找文件
16 Statement retry 重试语句
17
Metadata schema version
incompatible between database and
executable file
数库执行文件间元数集合版兼容
18 Service shutting down 服务正关闭
19 Invalid license 效证书
128 Transaction error 事务错误
129 Transaction rolled back byan internal 部错误事务回滚 SAP HANA 数库– SQL 参考手册
208
error
130 Transaction rolled back by integrity
constraint violation
违反完整性约束事务回滚
131 Transaction rolled back by lock wait
timeout
等锁定超时事务回滚
132 Transaction rolled back due to
unavailable resource
资源事务回滚
133 Transaction rolled back by detected
deadlock
检测死锁事务回滚
134 Failure in accessing checkpoint file 获取检查点文件失败
135 Failure in accessing anchor file 获取锚文件失败
136 Failure in accessing log file 获取日志文件失败
137 Failure in accessing archive file 获取档案文件失败
138 Transaction serialization failure 事务序列化失败
139 Current operation cancelled by request
and transaction rolled back
请求事务回滚取消前操作
140 Invalid writetransaction identifier 效写事务标识符
141 Failure in accessing invisible log file 获取隐藏记录文件失败
142 Exceed max num of concurrent
transactions
超步事务值
143 Transaction serialization failure until
timeout expires
超时事务序列化失败
144 Transaction rollback unique constraint
violated
事务回滚违反唯约束
145 Transaction distribution work failure 事务分布务失败
146 Resource busyand acquire with
NOWAIT specified
资源忙碌需指定 NOWAIT 获取
147 Inconsistency between data and log 数记录致 SAP HANA 数库– SQL 参考手册
209
148 Transaction start is blocked until
Master_Restart finishes
Master_Restart 未完成事务启动锁定
149 Distributed transaction commit failure 已分配事务提交失败
150 Statement cancelled due to old
snapshot
语句旧快取消
256 SQL processing error SQL 处理错误
257 SQL syntax error SQL 语法错误
258 Insufficient privilege 权限足
259 Invalid table name 效表名
260 Invalid column name 效列名
261 Invalid index name 效索引名
262 Invalid query name 效查询名称
263 Invalid alias name 效名
264 Invalid datatype 效数类型
265 Expression missing 缺少表达式
266 Inconsistent datatype 数类型致
267 Specified length too long for its
datatype
超出指定类型长度

268 Column ambiguously defined 模糊列定义
269 Too many values 数值太
270 Not enough values 数值足
271 Duplicate alias 重复名
272 Duplicate column name 重复列名
273 Not a single character string 没单字符串
274 Inserted value too large for column 插入数值列说 SAP HANA 数库– SQL 参考手册
210
275 Aggregate function not allowed 聚集功允许
276 Missing aggregation or grouping 缺少聚集分组
277 Not a GROUP BY expression GROUP BY 表达式
278 Nested group function without GROUP
BY
嵌套分组函数没 GROUP BY
279 Group function is nested 分组函数已嵌套
280 ORDER BY item must be the number of
a SELECTlist
GROUP BY 项必须 SELECT 列表数
281 Outer join not allowed in operand of
OR or IN
OR IN 操作数中允许外联结
282 Two tables cannot be outerjoined to
each other
两表格间互相外联结
283 A table may be outer joined to at most
one other table
张表外联接张表
284 Join field does not match 联结字段匹配
285 Invalid join condition 效联结条件
286 Identifier is too long 标识符名字长
287 Cannot insert NULL or update to NULL 法插入更新 NULL
288 Cannot use duplicate table name 法重复表名
289 Cannot use duplicate index name 法重复索引名
290 Cannot use duplicate query name 法重复查询名称
291 Argument identifier must be positive 参数标识符必须正值
292 wrong number of arguments 参数数目错误
293 Argument type mismatch 参数类匹配
294 Cannot have more than one primary
key
存键
295 Too long multi key length 长键长度 SAP HANA 数库– SQL 参考手册
211
296 Replicated table must have a primary
key
复制表键
297 Cannot update primary key field in
replicated table
法复制表中更新键
298 Cannot store DDL 法储存 DDL
299 Cannot drop index used for
enforcement of uniqueprimary key
删增强唯键键索引
300 Argument index is out of range 参数索引范围
301 Unique constraint violated 违反唯约束
302 Invalid CHAR orVARCHAR value 效 CHAR VARCHAR 值
303 Invalid DATE TIME orTlMESTAMP
value
效 DATETIME IMESTAMP 值
304 Division by zero undefined 未定义数 0
305 Singlerow query returns more than
one row
单行索引返回行
306 Invalid cursor 效游标
307 Numeric value out of range 数目值超出范围
308 Column name alreadyexists 列名已存
309 Correlated subquery cannot have TOP
or ORDER BY
相互关联子查询 TOP ORDER BY
310 SQL error in procedure 存储程中 SQL 错误
311 Cannot drop all columns in a table 法删表格中列
312 Sequence is exhausted 达序列末尾
313 Invalid sequence 效序列
314 Numeric overflow 数值溢出
315 Invalid synonym 效义词 SAP HANA 数库– SQL 参考手册
212
316 wrong number of arguments in
function invocation
函数调参数数目错误
317 P_QUERYPLANS not exists nor valid
format
P_QUERYPLANS 存格式效
318 Decimal precision specifier is out of
range
十进制精确性指定符超出范围
319 Decimal scale specifier is out of range 十进制数位数超出范围
320 Cannot create index on expression
with datatype LOB
LOB 数类型表达法创建索引
321 Invalid view name 效视图名称
322 Cannot use duplicate view name 法重复视图名称
323 Duplicate replication ID 重复更新 ID
324 Cannot use duplicate sequence name 法重复序列名
325 Invalid escape sequence 效转义序列
326 CURRVAL of given sequence is not yet
defined in this session
未定义次会话中 CURRVAL 定序列
327 Cannot explain plan of given statement 法解释定语句计划
328 Invalid name of function or procedure 功程名称效
329 Cannot use duplicate name of function
or procedure
法名字重复函数存储程
330 Cannot use duplicate synonym name 法重复义名
331 User name already exists 户名已存
332 Invalid user name 户名效
333 Column not allowed 列允许
334 Invalid user privilege 户特权效
335 Field alias name alreadyexists 字段名已存
336 Invalid default value 初始值效 SAP HANA 数库– SQL 参考手册
213
337 INTO clause not allowed for this
SELECT statement
该 SELECT 语句中出现 INTO 分句
338 Zerolength collumns are not allowed 出现零长度列
339 Invalid number 数目效
340 Not all variables bound 变量没界限
341 Numeric underflow 数目溢
342 Collation conflict 校验名矛盾
343 Invalid collate name 效校验名
344 Parse error in data loader 数加载中出现解析错误
345 Not a replication table 表格更新
346 Invalid replication ID 效更新 ID
347 Invalid option in monitor 监控器选项效
348 Invalid datetime format 效时间格式
349 Cannot CREATE UNIQUE INDEX 法创建唯索引
350 Cannot drop columns in the primary
key column list
法删键中列
351 Column is referenced in a multi
column constraint
列列约束中引
352 Cannot create unique indexon
CDXtable
CDX 表中法创建唯索引
353 Update log group name alreadyexists 更新日志名称已存
354 Invalid update log group name 效更新日志组名称
355 The base table of the update log table
must have a primary key
更新日志基表必须键
356 Exceed maximum number of update
log group
更新日志组数值超值
357 The base table already has a update 基表已张更新日志表 SAP HANA 数库– SQL 参考手册
214
log table
358 Update log table can not have a update
log table
更新日志表中包含更新日志表
359 Concatenated string is too long 连接字符串长
360 View WITH CHECK OPTION wherecla
use violation
违反 WITH CHECK OPTION 视图 where 子句
361 Data manipulation operation not legal
on this view
该视图数操作运算合法
362 Invalid schema name 效集合名
363 Number of index columns exceeds its
maximum
索引列数目超值
364 Invalid partial key size 部分键效
365 No matching unique or primary key for
this column list
列列表中没匹配唯键键
366 Referenced table does not have a
primary key
引表中没键
367 Number of referencing columns must
match referenced columns
引列必须引列数目相等
368 Unique constraint not allowed on
temporary table
时表允许唯约束
369 Exceed maximum view depth limit 超视图宽度限制
370 Cannot perform DIRECT INSERT
operation on table with unique indexes
表中法直接插入唯索引
371 Invalid XML document 效 XML 文件
372 Invalid XPATH 效 XPATH
373 Invalid XML duration value 效 XML 持续值
374 Invalid XML function usage 效 XML 函数应
375 Invalid XML index operation 效 XML 索引操作 SAP HANA 数库– SQL 参考手册
215
376 Python stored procedure error Python 存储程错误
377 JIT operation error JIT 操作错误
378 Invalid column view 效列视图
379 Table schema mismatch 表模式匹配
380 Fail to change run level 改变运行级失败
381 Fail to restart 重启失败
382 Fail to collect all version garbage 收集数版失败
383 Invalid identifier 效标识符
384 Constant string is too long 字符串常数长
385 Could not restore session 法恢复会话
386 Cannot use duplicate schema name 法重复集合名
387 Table ambiguously defined 表格定义清晰
388 Role already exists 角色已存
389 Invalid role name 效角色名
390 Invalid user type 效户类
391 Invalidated view 未验证视图
392 Can't assign cyclic role 法分配循环角色
393 Roles must not receive a privilege with
grant option
grant 选项授权角色
394 Error revoking role 错误撤销角色
395 Invalid userdefined type name 效定义类名称
396 Cannot use duplicate userdefined type
name
法重复定义类名称
397 Invalid object name 效象名称
398 Cannot have more than one order by 存 order by SAP HANA 数库– SQL 参考手册
216
399 Role tree too deep 象树深
400 Primary key not allowed on insertonly
table
允许插入表中允许键
401 Unique constraint not allowed on
insertonly table
允许插入表格中允许唯键
402 The user was already dropped before
queryexecution
执行查询前该户已删
403 Internal error 部错误
404 Invalid (nonexistent) structured
privilege name
效(存)结构化权限名
405 Cannot use duplicate structured
privilege name
法重复结构化权限名
406 INSERT UPDATE and UPSERT are
disallowed on the generated field
生成字段允许 INSERTUPDATE UPSERT
407 Invalid date format 效日期格式
408 Password or parameter required for
user
户必需密码参数
409 Multiple values for a parameter not
supported
参数支持值
410 Invalid privilege namespace 效权限命名空间
411 Invalid table type 效表类型
412 Invalid password layout 效密码样式
413 Last n passwords can not be reused 次密码法次
414 User is forced to change password 户强制重设密码
415 User is deactivated 户未激活
416 User is locked 户锁定
417 Can't drop without CASCADE
specification
法 CASCADE 选项删 SAP HANA 数库– SQL 参考手册
217
418 Invalid view query for creation 视图查询效创建
419 Can't drop with RESTRICT specification 法 RESTRICT 选项删
420 Password change currently not allowed 前允许修改密码
421 Cannot create full text index 法创建全文字索引
422 Privileges must be either all SQL or all
from one namespace
权限必须 SQL 中者命名空间
423 Live Cache error 缓存错误
424 Invalid name of package 效组件名
425 Duplicate package name 重复组件名
426 Number of columns mismatch 列数目匹配
427 Cannot reserve index ID any more 法保存索引 ID
428 Invalid query plan ID 效查询计划 ID
429 Integrity check failed 完整性检查失败
430 Invalidated procedure 效存储程
431 User's password will expire within few
days
户密码天会失效
432 This syntax has been deprecated and
will be removed in next release
该语法已废弃次发布中移
433 Null value found 发现 NULL
434 Invalid object ID 效象 ID
435 Invalid expression 效表达式
436 Could not set system license 法设定系统证书
437 Only commands for license handling
are allowed in current state
前状态允许证书处理命令
438 Invalid user parameter value 效户参数值
439 Composite error 合成错误 SAP HANA 数库– SQL 参考手册
218
440 Table type conversion error 表类型转换错误
441 This feature has been deprecated and
will be removed in next release
该功已废弃次发布中移
442 Number of columns exceeds its
maximum
列数目超值
443 Invalid calculation scenario name 效计算场景名称
444 Package manager error 组件理器错误
512 Replication error 复制错误
513 Cannot execute DDL statement on
replication table while replicating
法更新时更新表执行 DDL 语句
514 Failure in accessing anchor file 获取锚文件失败
515 Failure in accessing log file 获取日志文件失败
516 Replication table has not conflict
report table
复制表中没突报告
517 Conflict report table already enabled 突报告已
518 Conflict report table already disabled 突报告
576 API error API 错误
577 Cursor type of forward is not allowed 转发游标类型允许
578 Invalid statement 效语句
579 Exceed maximum batch size 成批数超值
580 Server rejected the connection
(protocol version mismatch)
服务器法连接(代理类型匹配)
581 This function can be called only in the
case of single statement
单语句情形访问功
582 This query does not have result set 项查询没结果集合
583 Connection does not exist 连接存
584 No more lob data 更 LOBs 数 SAP HANA 数库– SQL 参考手册
219
585 Operation is not permitted 操作允许
586 Invalid parameter is received from
server
服务器接收效参数
587 Result set is currently invalid 前结果集合效
588 Next() is not called for this result set 结果集合未调 Next()
589 Too many parameters are set 设置参数
590 Some paramters are missing 参数丢失
591 Internal error 部错误
592 Not supported type conversion 支持类型转换
593 Re moteonly function 远程操作函数
594 No more result row in result set 结果集合中出现更结果行
595 Specified parameter is not output
parameter
指定参数未输出
596 LOB streaming is not permitted in
autocommit mode
动提交模式中允许 LOB 流
597 Session context error 会话文错误
598 Failed to execute the external
statement
外部语句执行失败
599 Session layer is not initialized yet 会话层未初始化
600 Failed routed execution 执行路失败
601 Too many session variables are set 设置会话变量
602 Cannot set readonly session variable 法设定读会话变量
603 Invalid LOB 效 LOB
604 Remote temp table access failure 远程时表获取失败
605 Invalid XAjoin request 效 XA 联结请求
606 Exceed maximum LOB size LOB 超值 SAP HANA 数库– SQL 参考手册
220
607 Failed to cleanup resources 清理资源失败
608 Exceed maximum number of prepared
statements
预备语句超数量
1024 Session error 会话错误
1025 Communication error 通信错误
1026 Cannot bind a communication port 法连接通信端口
1027 Communication initialization error 通信初始化错误
1028 IO control error IO 控制错误
1029 Connection failure 连接错误
1030 Send error 发送错误
1031 Receive error 接收错误
1032 Cannot create a thread 法创建线程
1033 Error while parsing protocol 解析协议错误
1034 Exceed maximum number of sessions 超会话数量
1035 Not supported version 支持版
1036 Invalid session ID 效会话 ID
1037 Unknown hostname 未知机名
1280 SqIScript error Sqlscript 错误
1281 Wrong number or types of parameters
in call
调中参数数量类型错误
1282 Output parameter not a variable 输出参数变量
1283 OUT and IN OUT parameters may not
have default expressions
OUT IN OUT 包含默认表达式
1284 Duplicate parameters are not
permitted
允许重复参数
1285 At most one declaration is permitted in 声明部分允许条声明语句 SAP HANA 数库– SQL 参考手册
221
the declaration section
1286 Cursor must be declared by SELECT
statement
游标必须 SELECT 语句声明
1287 Identifier must be declared 必须声明标识符
1288 Expression cannot be used as an
assignmenttarget
表达式作赋值目标
1289 Expression cannot be used as an INTO
target of SELECTFETCH statement
表达式作 SELECTFETCH 语句 INTO 目标
1290 Expression is inappropriate as the left
hand side of an assignment statement
表达式位赋值语句左边
1291 Expression is of wrong type 表达式类型错误
1292 Illegal EXIT statement it must appear
inside a loop
非法 EXIT 语句必须出现循环中
1293 Identifier name must be an exception
name
标识符必须例外名
1294 An INTO clause is expected in SELECT
statement
SELECT 语句中需 INTO 子句
1295 EXPLAIN PLAN and CALL statement are
not allowed
允许 EXPLAIN PLAN CALL 语句
1296 Identifier is not a cursor 标识符游标
1297 Wrong number of values in the INTO
list of a FETCH statement
FETCH 语句中错误 INTO 列表值数量
1298 Unhandled userdefined exception 未处理户定义异常
1299 No data found 未找数
1300 Fetch returns more than requested
number of rows
返回请求数行
1301 Numeric or value error 数字值错误
1302 Parallelizable function cannot have
OUT or IN OUT parameter
行函数 OUT IN OUT 参数 SAP HANA 数库– SQL 参考手册
222
1303 Userdefined exception 户定义异常
1304 Cursor is already opened 游标已开
1305 Return type is invalid 效返回类型
1306 Return type mismatch 返回类型匹配
1307 Unsupported datatype is used 支持数类型
1308 Illegal single assignment 非法赋值
1309 Invalid use of table variable 效表变量
1310 Scalar type is not allowed 允许标量类型
1311 Out parameter is not specified 未指定输出参数
1312 At most one output parameter is
allowed
允许参数
1313 Output parameter should be a table
ora table variable
输出参数需表者表变量
1314
Inappropriate variable name do not
allow for the name of variable or
parameter
变量名:变量名允许
1315 Return result set from select stmt exist
when result view is defined
定义结果视图select 语句返回结果集已存
1316 Some out table varis not assigned 某输出表变量没赋值
1317 Function name exceedes max limit 函数名超长度
1318 Builtin function not defined 未定义置函数
1319 Parameter must be a table name 变量名必须表名
1320 Parameter must be an attribute name
without a table name upfront
参数必须前面没表名属性名
1321 Parameter must be an attribute name
without an alias
参数必须没名属性名
1322 CE_CALC not a 11 owed 允许 CE_CALC SAP HANA 数库– SQL 参考手册
223
1323 Parameter must be a vector of
columns or aggregations
参数必须列矢量聚集
1324 Join attribute must be available in
projection list
联接属性必须投影列表见
1325 Parameter must be a vector of SQL
identifiers
参数必须 SQL 标识符矢量
1326 Duplicate attribute name 重复属性名
1327 Parameter has a non supported type 参数支持属性
1328 Attribute not found in column table 列式表中未找属性
1329 Duplicate column name 重复列名
1330 Syntax Error for calculated Attribute 计算属性语法错误
1331 Syntax Error in filter expression 滤表达式语法错误
1332 Parameter must be a valid column
table name
参数必须效列式表名
1333 Join attributes not found in variable 未变量中找联接属性
1334 Input parameters do not have the
same table type
输入参数表类型相
1335 Cyclic dependency found in a runtime
procedure
存储程运行时发现循环赖
1336 Unexpected internal exception caught
in a runtime procedure
存储程运行时捕捉意外异常
1337 Variable depends on an unassigned
variable
变量赖未赋值变量
1338 CE_CON VERS ION customizing table
missing
CE_CONVERSION定义表丢失
1339 Too many parameters 参数
1340 The depth of the nested call is too
deep
嵌套调深
1536 Swapx error 交换错误 SAP HANA 数库– SQL 参考手册
224
1537 This table has no swap space 该表没交换空间
1538 Swap already activated 交换已激活
1539 Swap not yet activated 交换未激活
1540 Swap space is not created 未创建交换空间
1541 Failure in unpinning a swap page 取消拼接交换页失败
1542 Failure in swap file 交换文件失败
1543 Failure in accessing swap data file 访问交换数文件失败
1544 Failure in accessing swap log file 访问交换日志文件失败
1545 Swap buffer overflow 交换缓存溢出
1546 Swap buffer reservation failure 保存交换缓存失败
1792 Shared memory error 享存错误
1793 Invalid key or invalid size 效键值者效
1794 The segment already exists 段已存
1795 Exceed the systemwide limit on
shared memory
超享存系统宽度限制
1796 No segment exists for the given key
and 1 PC_CREAT was not specified
存指定键段未指定 IPC_CREAT
1797 The user does not have permission to
access the shared memory segment
户允许访问享存段
1798 No memory could be allocated for
segment overhead
没存分配段开销
1799 Invalid shmid 效 shmid
1800 Allow read access for shmid 允许 shmid 读访问
1801 Shmid points to a removed identifier Shmid 指已删标识符
1802 The effective user ID of the calling
process is not the creator
调进程效户 ID 创建者 SAP HANA 数库– SQL 参考手册
225
1803 The GID or UID value is too large to be
stored in the structure
GID UID 值太法保存结构中
1804 The user does not have permission to
access the shared memory segment
户允许访问享存段
1805 Invalid shmid 效 shmid
1806 No memory could be allocated forthe
descriptor or for the page tables
没存分配描述符者页表
1807 Unknown shared memory error 未知享存错误
2048 Column store error 列式存储错误
2049 Primary key is not specified for column
table
未指定列式表键
2050 Not supported ddl type for column
table
支持列表 DDL 类型
2051 Not supported data type for column
table
支持列表数类型
2052 Not supported dml type for column
table
支持列表 DML 类型
2053 Invalid returned value from attribute
engine
效属性引擎返回值
2304 Python DBAPI error Python DABPI 错误
2305 Interface failure 接口失败
2306 Programming mistake 编程错误
2307 Invalid query parameter 效查询参数
2308 Not supported encoding for string 支持字符编码
2560 Distributed metadata error 分布式元数错误
2561 DDL redirect error DDL 重定错误
2562 DDL notification error DDL 通知错误
2563 DDL invalid container ID DDL 效容器 ID SAP HANA 数库– SQL 参考手册
226
2564 DDL invalid index ID DDL 效索引 ID
2565 Distributed environment error 分布式环境错误
2566 Network error 网络错误
2567 Metadata update not supported in
slave
支持中更新元数
2568 Metadata update of master
indexserver is failed
indexserver 更新元数失败
2816 SqIScript Error SqlScript 错误
2817 SqIScript Builtin Function SqlScript 置函数
2818
2889 SqIScri pt 2818 2889 sqlscript
3584 Distributed SQL error 分布式 SQL 错误
3585 Expression shipping failure 传送表达式失败
3586 Operator shipping failure 传送操作符失败
3587
Invalid protocol or indexserver (stati
sties server) shutdown during
distributed queryexecution
分布式查询执行期间效协议索引服务器关闭
3588 Sequence shipping failure 传送序列失败
3589 Remote queryexectuion failure 远程查询执行失败
3840 general auditing error 审计错误
3841 Invalid privilege 效权限
3842 Audit trail writer is blocked 审计踪写入器阻塞
3843 Audit policy with current name already
exists
已存前名字审计策略
3844 Invalid combination of audit actions 效审计活动组合
3845 Invalid action status for auditing 效审计活动状态
3846 Invalid auditing level 效审计级 SAP HANA 数库– SQL 参考手册
227
3847 Invalid policy name 效策略名
4096 General error in the process of stored
plan
存储计划处理中错误
4097 Invalid operation in generating plans 效生成计划操作
4098 Invalid operation in execution the
chosen plan
效执行选定计划操作
4099 Invalid operation in storing the pinned
plan
效存储计划操作
4100 Invalid operation in loading the stored
plan
效存储加载操作
4101 Invalid operation in deleting the
chosen plan
效删选定计划操作
4103 Failed to prepare for runtime
reorganization
准备运行时重组失败
4104 Transaction blocked since runtime
reorganization is in progress
运行时重组执行中事务阻塞
4105
ERR_REORG_TRANS_EXISTS_GENERAL
Cannot start reorganization due to the
transactions in execution
ERR_REORG_TRANS_EXISTS_GENERAL事务执行中
法启动重组







《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

下载文档

相关文档

数据库面试题(SQL+ORACLE)

数据库基础(面试常见题)一、数据库基础1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵:Select ,insert

j***n 9年前 上传551   0

SQL数据库制作考务管理系统实验报告

SQL数据库制作考务管理系统实验报告  一、实验目的  1.  掌握sql server的基本用法  2.  熟悉掌握asp语言的应用  3.  掌握asp的页面结构和内置对象  4.  掌握asp与sql server数据库的连接和应用  5.  掌握asp 另外一个重要的语言――javascript,并熟悉它的应用  6.制作一个功能完善的考务管理系统  7.

诺***3 9年前 上传663   0

Java与SQL数据库技术学生成绩管理系统课程设计

《数据库系统原理》课程设计报告说明书学生信息管理系统学生姓名学 号所在专业所在班级指导教师提交时间 评阅情况成 绩目 录读书笔记 11. 学生信息管理系统概述 21.1 研究背景 21.2 开发意义 22. 系统需求分析 32.1 开发环境和软件 32.2 系统设计与功能分析 33 数

文***享 3年前 上传609   0

SQL数据库图书管理系统课程设计

XX职业技术学院信息工程系题 目:《图书管理系统》班 级 网络班 学 号 姓 名 课程名称 数据库应用技术

文***品 3年前 上传693   0

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

《SQL Server 数据库设计》课程设计报告课题名称:图书馆管理系统_班级:_ 软大班____学号:_ __姓名:___ ___完成日期:_2011-X-X_ _课程设计报告内容项目名称图书馆管理系统数据库设计姓名其他参与人员本人在本 项目中主要完成的工作系统需求分析系统功能分析

文***品 3年前 上传745   0

sql数据库实例零件销售中心管理系统

重庆工商大学计算机科学与技术专业数据库原理课程设计教学实验指导书 重点课程数据库原理教研组2004.1数据库原理课程设计教学实验指导SQL Server2000课程设计教学实验指导A.1 综合实验本课程的教学实验分为两局部:第一局部是按照实验指导书所要求的实验在计算机上完成;第二局部是作完上述实验后按照本课程设计教学实验指导书做的一个综合性实验。通

天***猩 4周前 上传68   0

sql数据库课程设计工资管理系统

XX学院 《数据库技术及其应用》课程设计报告书题 目: 工资管理系统 系 部: 数理系 专 业: 数学与应用数学 班 级: 姓 名: 学 号: 指导教师: ---------

文***品 2年前 上传413   0

DBA常用Sql语句

查看表空间的名称及大小: SQL>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;

h***y 5年前 上传1271   0

SQL上机练习

创建如下数据表并插入如下数据: create table S (SNO CHAR(6) NOT NULL, SNAME CHAR(8) NOT NULL, SSEX CHAR(2), SAGE SMALLINT, SDEPT CHAR(10) PRIMARY KEY (SNO), CHECK (SSEX='男' or SSEX='女'));   create table c

g***i 5年前 上传1183   0

SQL语言学习总结

SQL语言学习总结  暑假过的真快总感觉昨天才刚放假,还想着这个暑假怎么过时,暑假就已经去了。  这个暑假一开始我们看了浙大的sql的视频,老师给我们的要求是只要看一遍就行。刚开始看的时候还能听懂一些,看到后面的时候基本就听不懂了,幸好老师对我们的要求不高,于时只好硬着头皮继续。  sql的视频其实总的说来无非讲的是对数据库、表、字段等的创建、修改和删除。我们不懂的也就是怎样使用代码

幸***儿 9年前 上传743   0

SQL中调用ORACLE存储过程

SQL Server 调用Oracle的存储过程 收藏 原文如下:通过SQL  Linked  Server 执行Oracle 存储过程小结1 举例我们可以通过下面的方法在SQL Server中通过Linked Server 来执行Oracle 存储过程。(1)  Oracle PackagePACKAGE Test_PACKAGE AS       TYPE t_t is TAB

天***猩 4周前 上传87   0

sql查询语句学习测试答案

第一部分SQL查询语句的学习单表查询1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值use eeeSELECT 订购日期,订单ID,客户ID,雇员IDFROM 订单WHERE 订购日期BETWEEN '1996-7-1 00:00:00' AND '1996-7-15 23:59:59'2、--查询“N

文***品 3年前 上传1131   0

SQL数据的定义实验报告

实验1、数据定义班级:计自班 姓名: 学号:1、 实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。2、 实验内容l 用SSMS创建数据库University_Misl 使用CREATE语句创建基本表。l 更改基本表的定义: 增加列,删除列,修改列的数据类型。l 创建表的升、降序索引。l 删除基本表的约束、基本表的索引

文***品 2年前 上传628   0

技能高考专题:Access中的SQL语句(1)

ACCESS数据库的SQL语句教学 2009-07-01 20:50:47  作者:  来源:互联网  浏览次数:229  文字大小:【大】【中】【小】 引子:如何找到ACCESS数据库的SQL视图: 1)  单击下图左侧的 : 2)单击上图顶部的,弹出如下图对话框:  5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“

小***库 3年前 上传632   0

SQL非常全面的入门教程

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

红***8 3年前 上传456   0

SQL2005培训精编课程

1、 MICROSO SQL SERVER 简介、是微软推出的一款数据库产品 41.1. 表〔Table〕,区分不同的实体 41.2. 列〔Column〕,常称字段〔Field〕 41.3. 数据类型〔DataType〕 41.4. 记录〔Record〕记录有可以被称为行〔Row〕 51.5. 主键〔PrimaryKey〕ID 51.6. 索引 52、 数据库的语言——SQL(全称

天***猩 4周前 上传98   0

数据库实验心得

数据库实验心得  我在sql server 索引基础知识系列中,第一篇就讲了记录数据的基本格式。那里主要讲解的是,数据库的最小读存单元:数据页。一个数据页是8k大小。  对于数据库来说,它不会每次有一个数据页变化后,就存到硬盘。而是变化达到一定数量级后才会作这个操作。 这时候,数据库并不是以数据页来作为操作单元,而是以64k的数据(8个数据页,一个区)作为操作单元。  区是管理空间的

乱***画 11年前 上传699   0

数据库营销

数据库营销 一、数据库营销的发展   在短短的二十年里,中国经济在从计划经济向市场经济转型的过程中,也逐渐由稀缺经济向过剩经济过渡。中国百姓对商品的需求已经从饥不择食地大量抢购到货比三家的“挑挑剔剔”。生活日益丰富的人们,已不再领情于、甚至厌倦于铺天盖地的商品信息的侵染;同时,也不再满足于基本的生活需要,更加注重的是具有个性化和人情味的产品和服务。市场将被区隔成一个个更小的消费者

又***一 14年前 上传17457   0

数据库设计报告

   数据库设计报告 来自:http://www.chinaspis.com 作者:林锐 电子工业出版社出版发行 { 项目名称 } 数据库设计报告 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 文件标识: Company-Project-SD-DATABASE 当前版本: X.Y 作者:   完成日期: Year-Month-Day 版 本

c***u 13年前 上传23407   0

数据库题库

数据库题库

j***1 5年前 上传1292   0

数据库管理规定

数据库管理规定第一章 总 则第一条为加强联合信用评级有限公司(以下简称“公司”)数据库管理,保障评级数据库正常、有效运行,确保数据库安全,使数据库能更好地服务于评级工作,特制定本管理制度。第二条公司系统管理员负责评级数据库的日常维护和运行管理。第三条公司总经理负责对数据库使用者进行权限审批。第二章 数据的录入第三条各业务部门的评级分析师负责评级数据库的数据录入工作,部门负责人为本部门评

j***0 2年前 上传521   0

学习数据库的心得

学习数据库的心得  转眼间在从大一踏进学校的校门到现在刚刚好一年了,在这一年中,数据库也如影随形。  在这一年中我主要学习的数据库是sql serverXX,在学习的时候过程中,我们首先是从基础开始,比如数据类型、运算符号、关键字等等,然后上升到一些增删改查,还有触发、存储过程等的使用等等。  经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东

c***n 10年前 上传432   0

标准化餐饮品质参考手册

品质参考手册《品质参考手册》使用说明本次《品质参考手册》由研发生产本部品保处负责修订,并得到群营运部、供应部、企划部以及北部公司、东部公司、西部公司大力支持,为本版《品质参考手册》之修订,提供了很多宝贵建议。《品质参考手册》版权属于便利餐饮事业群,未经书面授权,任何单位或个人皆不得以任何理由进行复制或盗印。《品质参考手册》制度修订由研发生产

l***g 12年前 上传538   0

应急管理部机关单位内部参考手册(电子版)

正确佩戴一次性医用口罩。尽量不乘坐公共交通工具,建议步行、骑行或乘坐私家车、班车上班。如必须乘坐公共交通工具时,务必全程佩戴口罩。途中尽量避免用手触摸车上物品。

贴***行 4年前 上传1680   0

学生成绩管理数据库系统设计(数据库实验大作业)

学生成绩管理数据库系统设计 课程:数据库安全实验 姓名: 学院: 计算机学院 专业: 信息安全 学号:一、需求分析1.1 编写目的本产品实现了一个基于mySQL数据库下的学生信息

文***品 1年前 上传447   0

© 2006-2021 香当网   

  浙公网安备 33018302001162号
浙ICP备09019653号-34