联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
6.7.6.15 注意事项
更新时间:10/24/2023, 7:20:26 AM

函数/存储过程的版本兼容

ArgoDB 会持续优化后端引擎以提供更强的性能和功能,因此为达到最优性能,星环科技会提供自动升级工具来完成某些版本上创建的 PL/SQL 函数和过程,保障版本兼容性。

方言的选择

ArgoDB 中默认采用 Oracle 方言,即连接至 ArgoDB 数据库后,可直接创建 PL/SQL 语句块。您也可以通过下述方法切换方言,例如切换至 Db2 方言。

以 Beeline 方式连接 ArgoDB 时,可通过以下命令,手动打开对 DB2 dialect 的支持。

客户端:

!set plsqlClientDialect db2;
复制

服务端:

set plsql.server.dialect=db2;
复制

如果执行了上述语句后,在读取表数据时提示 Inconsistent Dialect(stored as ORACLE but read as DB2),可执行 set argodb.ignore.dialect.enabled=true; 命令来忽略方言检查。

分号的支持

以 Beeline 方式连接 ArgoDB 时,一旦打开手动 DB2 dialect 支持, 则 ArgoDB 对于分号的支持将自动打开, 且不能更改。

也就是说,在 ArgoDB 中创建 SQL PL 语句块时,必须在每一个完整的 SQL PL 语句块后面加上一个新行,该行只包含斜线(/),否则 ArgoDB 不会执行当前的语句块,也不会执行该语句块之前的任何 SQL PL 语句。

PL/SQL 中结果的打印

在 ArgoDB 中,PL/SQL 中直接执行 SELECT 语句默认不打印结果。如需查看查询结果,则需要通过 set plsql.show.sqlresults=true; 来打印结果,示例如下:

手动设置结果打印,查询表 transactions 中价格为 12.13 的交易时间和交易类型。

!set plsqlUseSlash true
-- 设置显示查询结果
set plsql.show.sqlresults=true;
BEGIN
   SELECT trans_time,trans_type
    from transactions
    WHERE price=12.13;
END;
/
复制

输出结果

+-------------------+
|      output       |
+-------------------+
| 20140105100520        b  |
+-------------------+
复制