我想在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