请注意,本文编写于 593 天前,最后修改于 593 天前,其中某些信息可能已经过时。
PL/SQL 连接报错
这里说的不是常规的的监听问题(常规问题基本可以通过重新配置 Net Configuration Assistant 和重启监听服务解决),存在另一种情况,重新配置服务命名和监听程序都没有用,这里备份一下可用的设置(避免不必要的修改注册表);
注意红色矩形框内的内容
PL/SQL 中文乱码
环境变量:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
PL/SQL 查看历史查询语句
Ctrl+E
查看数据库、监听、PL/SQL 版本
select * from v$version;
小技巧,如果你想把代码插入到 OneNote 或者 Word 类似的地方,直接从 PL/SQL 复制没有高亮样式,可以尝试复制到 PPT 中,再从 PPT 中复制过去,就会带有样式。
误删表数据、闪回
select * from ttrd_otc_trade as of timestamp to_timestamp('2019-12-17 00:00:00', 'yyyy-mm-dd hh24:mi:ss');
flashback table ttrd_otc_trade to timestamp to_timestamp('2019-12-17 00:00:00', 'yyyy-mm-dd hh24:mi:ss');
第二条语句是查询特定时间节点的表内数据,第三条语句是将表还原到特定时间节点,注意不是所有情况都可以实现的,需要数据库开启功能,详细描述另起章节介绍。
alter table ttrd_otc_trade enable row movement;
PL/SQL 在 HELP > Supoort Info 支持信息中可以快捷查看当前连接的 tns
字符串反转
这个其实用的 level 方法,详细用法另起章节。
Excel 转 SQL
用于从 Excel 导入数据时,拼接 Excel 单元格,生成 SQL,举个例子,在新的单元格中写入:
="insert into t_student (id,name,age,class) value ("&B2&",'"&C2&"',"&D2&",'"&E2&"');
只要复制新的列就是完整的插入语句。