我想在oracle TimesTen(内存数据库中(中选择一个随机字符串,im EXEC查询如下:
select DBMS_RANDOM.string('A', 6) AS "rnd" from dual
但是出现了错误代码:
TT1001:SQL语句之前或处的语法错误:"("第1行第26列错误
有人知道问题的原因吗?
当前Oracle TimesTen不支持从SQL语句中调用PLSQL函数。
最好的方法是创建一个PLSQL函数[或包函数],并从PLSQL调用该函数。
从JDBC、ODBC、OCI等主机语言调用PLSQL函数在TimesTen中与在Oracle RDBMS中相同。
此示例适用于TimesTen 11.2.2.8.x和18.1.x:
create or replace function rand_string return varchar2 is
str varchar2(255);
Begin
str := DBMS_RANDOM.string('A', 6);
Return str;
End;
/
set serveroutput on;
declare
s1 varchar2(255);
begin
dbms_output.put_line('Hi');
s1 := rand_string;
dbms_output.put_line('Random string is ' || s1);
end;
/
嗨
随机字符串是MlDYJy