createIMOLTPTable
语法
createIMOLTPTable(dbHandle, table, tableName, primaryKey, [secondaryKey],
[uniqueFlag])
参数
dbHandle 函数 database 返回的 IMOLTP 数据库句柄。
table 一个表,系统将根据该表的结构在数据库中创建一个空的 IMOLTP 表。
tableName 字符串标量,表示 IMOLTP 表的名字。
primaryKey字符串标量或向量,表示主键索引的键包含的字段(字段即为列名)。为标量时,表示只包含一个字段;为向量时,表示包含多个字段。
secondaryKey 可选参数,字符串标量或向量,表示每一个二级索引的键包含的字段。
uniqueFlag 可选参数,布尔类型标量或向量,表示每一个二级索引是否是唯一的:
-
uniqueFlag 为标量或 size 为 1 的向量,表示只有一个二级索引。此时 secondaryKey 可以为字符串标量(表示一个字段)或向量(表示多个字段)。
-
uniqueFlag 为长度大于 1 的向量,表示有多个二级索引。此时 secondaryKey 的长度必须与 uniqueFlag 相同,secondaryKey 的每一个元素表示一个键。
详情
在 IMOLTP 数据库中创建 IMOLTP 表。
例子
创建 IMOLTP 数据库
dbName = "oltp://test_imoltp"
db = database(directory=dbName, partitionType=VALUE, partitionScheme=1..100, engine="IMOLTP")
创建表 test_table_1,以 id 为主键,没有二级索引
pt1 = createIMOLTPTable(
dbHandle=db,
table=table(1:0, ["id", "val1", "val2", "sym"], [LONG, INT, LONG, STRING]),
tableName="test_table_1",
primaryKey=`id
)
创建表 test_table_2,以 id,sym 为主键,没有二级索引
pt2 = createIMOLTPTable(
dbHandle=db,
table=table(1:0, ["id", "val1", "val2", "sym"], [LONG, INT, LONG, STRING]),
tableName="test_table_2",
primaryKey=`id`sym,
secondaryKey=`val2`sym,
uniqueFlag=true
)
创建表 test_table_3,以 id 为主键,有一个非 unique 二级索引:以 val1 为键;一个 unique 二级索引:以 sym 为键
pt3 = createIMOLTPTable(
dbHandle=db,
table=table(1:0, ["id", "val1", "val2", "sym"], [LONG, INT, LONG, STRING]),
tableName="test_table_3",
primaryKey=`id,
secondaryKey=[`val1, `sym],
uniqueFlag=[false, true]
)