摘要: PLSQL 利用触发器来实现插入数据时更新某字段的值 需求:设置一个触发器,当EMP_NAME是'ACE'的数据插入时,更新EMP_DESC为'我被触发器更新了'。 --建立测试表 create table TEST1124 ( EMP_ID NUMBER, EMP_NAME VARCHAR2(20), EMP_DESC VARCHAR2(20)); 阅读全文
posted @ 2023-02-15 16:25 胖大海527 阅读(261) 评论(0) 推荐(0)
摘要: PLSQL MON-YY日期格式转换 日期格式为MON-YY, 是不能用字符“MON-YY”比较日期大小的。 需要将字符“MON-YY”转换为日期格式 --报错:ORA-01843:非有效的月份 select to_date('JUL-20', 'MON-YY') from dual; 报错原因:PLSQL客户端使用的中文环境,“JUL 阅读全文
posted @ 2023-02-15 16:17 胖大海527 阅读(331) 评论(0) 推荐(0)
摘要: PLSQL 查询的默认排序分析 ORACLE对无order by的语句返回的结果不进行排序,ORACLE此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。 但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用,所以一个无order 阅读全文
posted @ 2023-02-15 15:46 胖大海527 阅读(187) 评论(0) 推荐(0)
摘要: PLSQL 暂停执行 在PLSQL编写中,需要程序暂停一段时间后继续运行,可使用Oracle内置功能dbms_lock.sleep(10); 如果找不到此功能可自己安装。 SQL> conn /as sysdba SQL> @?/rdbms/admin/dbmslock.sql 测试: begin dbms_output 阅读全文
posted @ 2023-02-15 15:40 胖大海527 阅读(302) 评论(0) 推荐(0)
摘要: PLSQL 记录某个表中新增、更改、删除的数据LOG日志 应用场景:当我们需要追踪某个表中新增、更改、删除的数据时,可以在该表上建立一个触发器,将新增、更改、删除的数据,另包括DML操作类型、DML操作时间等记录到TEMP表。 --建立测试表 create table TEST1123 ( EMP_ID NUMBER, EMP_NAME VARCHAR2( 阅读全文
posted @ 2023-02-15 15:27 胖大海527 阅读(217) 评论(0) 推荐(0)