GBase 8s随机排序查询
从oracle迁移到GBase 8s数据库的过程中,有类似
select t.*
from t
order by dbms_random.value
进行随机排序查询的写法。
GBase 8s默认不支持dbms_random之类的函数,这些函数存在称为datablade的扩展包中,以下示例在库中注册excompat。
1,使用gbasedbt用户登陆,切换到 $GBASEDBTDIR/extend/excompat.1.0 目录下
cd $GBASEDBTDIR/extend/excompat.1.0
2,临时取消当前的DB_LOCALE和CLIENT_LOCALE环境变量
unset DB_LOCALE
unset CLIENT_LOCALE
3,使用 blademgr 注册 excompat.1.0,以下是各步骤及说明
blademgr # 进入 blademgr,提示符如: 数据库服务名>
服务名> show databases # 显示可加载模块的库
服务名> list testdb # 假设我们需要在testdb库中注册,先查看该有是否有注册模块
服务名> register excompat.1.0 testdb # 注册模块,要求有二次确认
服务名> quit # 退出注册模块
4,使用 dbms_random_random 函数
-- 注意:该写法(order by 函数)并不是所有版本都支持
select t.* from systables t order by dbms_random_random();
-- 该写法均支持
select dbms_random_random(), t.*
from systables t
order by 1;
按实际需要修改写法。
- 上一篇: GBase 8s数据类型与java.sql.Types对应关系
- 下一篇: 没有了