PL/SQL快速获取一个表的所有字段

一、现象 通过我们查询语句不用select *,因为select * 会降低查询效率,这时候就需要有一个方法快捷获取到表的所有列。 为什么用select * 会降低查询效率? 1,数据库需要知道 * 等于什么 = 查数据字典会增大开销(记录数据库和应用程序元数据的目录) 2,多出一些不用的列,这些列可能正好不在索引的范围之内(索引的好处不多说)select * 杜绝 了索引覆盖的可能性,而索引覆盖又是速度极快,效率极高,业界极为推荐的查询方式。 3,不需要的字段会增加数据传输的时间,即使 mysql 服务器和客户端是在同一台机器上,使用的协…

Continue Reading →

PL/SQL中文乱码问题

一、问题 打开plsql,执行sql语句,中文显示乱码 二、解决方案 1、输入sql语句select userenv(‘language’) from dual查看数据库字符集  2、输入sql语句select * from V$NLS_PARAMETERS查看本地字符集,查看第一行和第九行是否对应 3、查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量 4、新建变量,设置变量名:NLS_LANG, 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 5、重新打开plsql,执行sql语句,问题解决 引用文章:https://www.cnblogs.com/cang12138/p/6233539.html

Continue Reading →

64bitOracle用32bitPL/SQL的解决方案

PL/SQL 连接 Oracle64bit 的数据库,会出现如下问题: 主要是因为PL/SQL需要ori.dll连接Oracle数据库,而PL/SQL是32bit对应要是ori.dll的32bit程序,64bit无法进行使用。所以可以使用以下方法进行解决: 1.下载Oracle对应版本的32bit客户端。(例:instantclient-basic-nt-11.2.0.4.0) 2.下载后解压到指定文件夹,可以是(例:F:\app\Administrator\product\11.2.0下,便于管理)。 3.打开PL/SQL后,点击取消选择工具-首选项-连接菜单,修改如下信息: 4.复制TNS,把F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK复制到 F:\app\Administrator\product\11.2.0\instantclient_11_2下 5.重启PL/SQL。 创建快捷方式:在桌面创建.bat批处理创建方式,编辑内容如下:  set ORACLE_HOME=F:\app\Administrator\product\11.2.0\instantclient_11_2  set TNS_ADMIN=F:\app\Administrator\product\11.2.0\instantclient_11_2  set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK  set…

Continue Reading →

PL/SQL调试函数/存储过程

一、找到对应函数/存储过程,右键测试/Test 二、测试窗中填写调试参数后,点击调试 三、点击“单步执行”,每一次执行的代码会高亮,如果想看变量值在变量框中填写变量名即可 四、每一次单步执行时记住行数,若存在退出则说明错误在该行的下一行,可在错误之前使用变量排查问题 参考文章:https://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html

Continue Reading →