Oracle笔记速记

一个存储过程中同时用到多个用户下的表和函数,比如存储过程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 <索引名>
执行之后解除索引和表的关联,然后再执行删除索引操作

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容