Я пытаюсь создать тестовую базу данных (с базой данных H2).Я использую Oracle в производственной среде, и мне кажется неплохим иметь режим совместимости с Oracle в h2.
Однако у меня возникла проблема с переводом конструкции Oracle:
create or replace PACKAGE permission_tools IS
FUNCTION get_role_access_level(
p_role_id IN NUMBER,
p_permiss IN VARCHAR2)
RETURN NUMBER;
END permission_tools;
, которую я 'm звонит с:
select permission_tools.get_access_level(?, ?) from dual;
в эквиваленте H2.Я пытался что-то вроде:
CREATE SCHEMA PERMISSION_TOOLS;
CREATE ALIAS PERMISSION_TOOLS.GET_ACCESS_LEVEL as $$
String nextPrime(String value) {
return new BigInteger(value).nextProbablePrime().toString();
}
$$;
Но это дает мне ошибку компиляции:
org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "
CREATE ALIAS PERMISSION_TOOLS.[*]GET_ACCESS_LEVEL AS
String nextPrime(String value) {
return new BigInteger(value).nextProbablePrime().toString();
}
"; expected "FOR"; SQL statement:
CREATE ALIAS PERMISSION_TOOLS.GET_ACCESS_LEVEL as $$
String nextPrime(String value) {
return new BigInteger(value).nextProbablePrime().toString();
}
$$ [42001-131]
Это не дает никакой подсказки, какздесь происходит.
Любая помощь приветствуется.