pl/sql コンテキストで実行している場合、実際には次のように実行できます
declare
l_date date;
begin
begin
l_date := to_date(txt_informationdate);
exception
when others then l_date := null;
end;
if l_date is null then
update dummy set informationdate = l_date;
end if;
exception
when others then
dbms_output.put_line('something else went wrong');
end;
私はこれをテストしていませんが、動作するはずです。いくつかの構文エラーを修正する必要があるかもしれません。
他の言語プログラムからその更新を行いたい場合は、リモート プロシージャ コールの更新を行う代わりに、上記の小さな手順を作成することをお勧めします。または、おそらく次のように is_date 関数を自分で定義することもできます
create or replace function is_date(i_date varchar2)
return date
as
begin
return to_date(i_date);
exception
when other then return null;
end;
あなたの更新は次のようになります
update dummy set informationdate = is_date(txt_informationdate);
繰り返しますが、これはすべてテストされておらず、構文エラーがある可能性がありますが、理解できると確信しています。