私はh2に変換する必要があるoracleに以下の関数を持っています。誰でも助けてくれますか?私はこれを行うには見当がつかない:Oracleからh2で関数を作成
create or replace function unpack_info (p_trackchar table.ordchar%type)
return varchar2 is
l_res varchar2(8);
begin
select decode(bitand(to_number(ascii(p_trackchar)),1),1,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),2),2,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),4),4,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),8),8,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),16),16,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),32),32,'1','0') ||
decode(bitand(to_number(ascii(p_trackchar)),64),64,'1','0') into l_res
from dual;
return l_res;
end;
私は最初のいくつかの基本を行うことを試みたが、この関数の作成は動作しません。
CREATE ALIAS HTS.TEST AS $$
String nextPrime(String value){
return null;
}
$$;
私はこのエラーを取得する:
Error: Syntax Fehler in SQL Befehl "CREATE ALIAS HTS.TEST AS []$$ String nextPrime(String value){ return null" Syntax error in SQL statement "CREATE ALIAS HTS.TEST AS []$$ String nextPrime(String value){ return null" [42000-162]
これは翻訳を行う正しい方法ですか、何ができますか?
エイリアス(テスト用のもの)を作成して実行できました。今すぐunpack:infoのエイリアスを作成する必要があります。誰かが私が構文などの原因になるのを助けることができますか?関数はh2のエイリアスとしてどのように見えますか?
+1エラーメッセージに最後の '}' + '$$ 'が含まれていないことは奇妙です。 –
これは、H2データベースエンジンが実際に完全な文を取得しなかったため、最初のセミコロン(「ヌル」の後ろ)までしか見つかりませんでした。なぜこれが起こったのかわからない、私はそれがスクリプトを実行するツールに関連していると思う。 –
私は同意します。ツールはおそらく ';'でクエリを分割して、 ';'を使ってステートメントを終了させるOracleのようなデータベースで動作するように設定しました。 @bladepit:あなたのツールの設定を確認してください。 –