一、 pl/sql developer 中文字段显示乱码或者导出数据显示乱码问题:
原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。
二、查看和修改oracle数据库字符集:
select userenv('language') from dual;
查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
SIMPLIFIED CHINESE_CHINA.ZHS16GBK (我的数据库结果)
--修改oracle数据库字符集:(在SQL Plus中)--挺麻烦的,我还是建议用“三”的方式设置环境变量
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;
三、修改pl/sql developer 的编码格式:
1,在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,
2,重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。
如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上
在linux中,
setenv NLS_LANG 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK' 中文字符集
setenv NLS_LANG 'SIMPLIFIED AMERICAN_AMERICA.US7ASCII' 英文字符集
文章转自: http://blog.csdn.net/fmhui879/article/details/7081384 ,我这里做了适当的修改!
2020
==================================华丽的分割线===========================================
创建分区表:
create table ST_ZHYX_KHHX_BASE_INFO_ADD
(
instcode VARCHAR2(200),
instname VARCHAR2(200),
name VARCHAR2(200),
iden_no VARCHAR2(200),
sex VARCHAR2(200),
age VARCHAR2(200),
phone VARCHAR2(200),
statis_date VARCHAR2(200),
stat_date NUMBER(10),
stat_dd VARCHAR2(200)
)
partition by list (STAT_DD)
(
partition P_01 values ('01')
tablespace ZHYX,
partition P_02 values ('02')
tablespace ZHYX,
partition P_03 values ('03')
tablespace ZHYX,
partition P_04 values ('04')
tablespace ZHYX,
partition P_05 values ('05')
tablespace ZHYX,
partition P_06 values ('06')
tablespace ZHYX,
partition P_07 values ('07')
tablespace ZHYX,
partition P_08 values ('08')
tablespace ZHYX,
partition P_09 values ('09')
tablespace ZHYX,
partition P_10 values ('10')
tablespace ZHYX,
partition P_11 values ('11')
tablespace ZHYX,
partition P_12 values ('12')
tablespace ZHYX,
partition P_13 values ('13')
tablespace ZHYX,
partition P_14 values ('14')
tablespace ZHYX,
partition P_15 values ('15')
tablespace ZHYX,
partition P_16 values ('16')
tablespace ZHYX,
partition P_17 values ('17')
tablespace ZHYX,
partition P_18 values ('18')
tablespace ZHYX,
partition P_19 values ('19')
tablespace ZHYX,
partition P_20 values ('20')
tablespace ZHYX,
partition P_21 values ('21')
tablespace ZHYX,
partition P_22 values ('22')
tablespace ZHYX,
partition P_23 values ('23')
tablespace ZHYX,
partition P_24 values ('24')
tablespace ZHYX,
partition P_25 values ('25')
tablespace ZHYX,
partition P_26 values ('26')
tablespace ZHYX,
partition P_27 values ('27')
tablespace ZHYX,
partition P_28 values ('28')
tablespace ZHYX,
partition P_29 values ('29')
tablespace ZHYX,
partition P_30 values ('30')
tablespace ZHYX,
partition P_31 values ('31')
tablespace ZHYX
);
分区查询:
where条件使用分区字段,和 直接查询 分区 效果是一样的,都会走分区,但直接查询分区效果更好。
> select count(1) from st_zhyx_khhx_base_info_add partition(P_22);
> select count(1) from st_zhyx_khhx_base_info_add where stat_dd = '22';
清除指定分区数据:
> alter table st_zhyx_khhx_base_info_add truncate partition P_22;
==================================华丽的分割线===========================================
PL/SQL Developer工具编译 存储过程
File -->Open-->Program File--打开 .pck文件
选中存储过程,右键 Test 即可执行;
直接用定时任务执行一些存储过程:DBMS_Jobs-->新建--在What中黏贴存储过程的调用,多个语句之间用分号隔开,然后Apply即可立即执行
以上是一次性执行的,如果要每天某个时候执行则使用如下截图方式
查看具体SQL执行情况 Tools --> Sessions-->(Active sessions)-->SQL Text ,点一下刷新