一个存储过程中同时用到多个用户下的表和函数,比如存储过程SP所属的用户是USER_A,其中还用到了USER_B中的B表和C函数,会报权限不足
解决办法:
使用grant
给表或函数扩大权限
GRANT ALL ON USER_A.B TO PUBLIC;
GRANT ALL ON USER_A.C TO PUBLIC;
将数字转化为字符串
直接转化:select to_char(round(0.7777,2)) from dual;
结果为: .78
转化的同时控制格式:select to_char(round(0.7777,2), 'fm99999990.99') from dual;
结果为:0.78
转化整数时会多出一点:select to_char(round(50,2), 'fm99999990.99') from dual;
结果为:50.
需要去除后缀:select rtrim(to_char(round(50,2), 'fm99999990.99'),'.') from dual;
结果为:50
获取获将2023-01转化为时间类型并获取这个月最后一秒的时间
SELECT LAST_DAY(TO_DATE('2023-01', 'YYYY-MM')) + INTERVAL '23:59:59' HOUR TO SECOND FROM dual;
java.lang.RuntimeException: [72000][2429] ORA-02429: 无法删除用于强制唯一/主键的索引 Position: 11.
解决办法:
先执行 alter table <表名> drop constraint <索引名>
执行之后解除索引和表的关联,然后再执行删除索引操作