使用pi()函数Oracle SQL更新select union

yPe*_*ane 0 sql oracle

我想在更新语句中使用pi函数.我有OracleDeveloper版本3.2.10.09

update a_oracle_table
    set test_n = sqrt(a)/pi
    from 
        select * from a_oracle_table
        where a is not null and a >0
        union all
        select pi() from dual;
Run Code Online (Sandbox Code Playgroud)

select pi() from dual产生错误invalid identifier.

如何在更新声明中使用pi?

Gor*_*off 6

你的陈述完全不是Oracle.Oracle数据库fromupdate语句中不支持.

我也不知道pi()Oracle 中的内置函数(虽然我确定如果错误我会得到纠正).你可以用一点三角函数得到这个值:

update a_oracle_table
    set test_n = sqrt(a) / acos(-1);  -- acos(-1) = pi
Run Code Online (Sandbox Code Playgroud)