1.列值拼接
select listagg(param_value,chr(10) within group(order by param_order) param_value from Azure_table where 1=1
2.数据表维护字段
--修改字段
alter table 表名 modify 字段名 number(21,2)
--新增字段
alter table 表名 add 字段名 number(21,2)
--添加主键
alter table 表名 add primary key (ID)
3.varchar
默认是细节
varchar(10 byte) 最多可以存储10个字节,一个汉字两字节,可以存5个汉字
varchar(10 char) 最大可以存储10个汉字,而不用考虑一个汉字占了几个字节
4.length/lengthb
length 求的是字符长度
lengthb 求的是细节长度
根据编码的不同有些情况下,一个汉字就是一个字符,一个汉字占两字节
5.PLSQL执行 .sql文件
@e:\aaaa.sql
6.查看分区
--查看分区表
select * from user_table where parttitioned='YES'
--查看具体的分区表
select * from user_tab_partition s where table_name='表名大写'
7.minus 使用
返回在第一个查询结果与第二个查询结果集不相同的那部分行记录,即两个结果集的差集
以第一个查询结果集为主
8.intersect
返回在第一个查询结果中与第二个查询结果相同的那部分行记录,即两个结果集的并集
以第一个查询结果集为主
9. 自动表分区
partition by range (opertime) INTERVAL (NUMTOYMINTERVAL (1, 'MONTH'))
(
partition NDF_TRADE_LOG values less than (to_date ('20210101', 'yyyymmdd'))
);
10. 查看数据库使用大小
查看数据库使用大小:select sum(bytes)/1024*1024*1024) from dba_data_fles
11.完整的 Dracle 数据库通常由两部门组成:Oracle 数据库和数据库实例
- 数据库是一系列物理文件的集合(数据文件、控制文件、联机日志、参数文件等)
- Oracle数据库实例侧是一组Oracle后台进程/线程以及在服务器分配的共享内存区 test 数据库-启动 testSid:实例-然后由 Oracle 数据库实例来访问和控制磁盘中的数据文件
12. 查看 oracle 实例用户、对应的临时表空间、表空间
select username, temporary_tablespace, default_tablespace from dba_users
13. 修改用户默认表空间和临时表空间:
SQL> alter user test default tablespace datadb;
SQL> alter user test temporary tablespace temp;
14. 查看表空间名,数据文件路径,是否自动扩容
select tablespace_name, file_name, autoextensible from dba_data_files;
15. 报一下错误时:“ORA-O1658: 无法为表空间 WKMS 中的段创建 INITIAL 区”表示为表空间存在不足的情况,数据文件需要扩容
SQL> alter database datafile 'D: \APP\AZURE\FEATUREORGAN\DATADB. DBF' autoextend on;
16. 建表参数
这是 oracle 默认给分区的配置
- tablespace:表空间 initrans,表是 1,索引 l2
- pctfree :默认是 10,满足查询要求 maxtrans,控制最大并发事务 storage:表分区设置
- initial:初始化分区
- next:下一个分区大小
- minextents:每次拓展的最小分区数目
- maxextents:最大扩展分区数目
17. 创建分区
步骤一、将原有审批历史表 rename
alter table CCDM_T_DECISION_RESULT rename to CCDM_T_DECISION_RESULT_OLD;
步骤二、新建原有名称的分区表
create table CCDM_T_DECISION_RESULT
(
key_decision VARCHAR2 (32) not nulI)
partition by range (create_date) INTERVAL (NUMTOYMINTERVAL (1. 'MONTH'))
(
partition ccdm_partition_decresult values less than (to_date ('20180701'. 'yyyymmdd'))
);
步骤三、导入原数据
ALTER TABLE CCDM_T_DECISION_RESULT NOLOGGING;
INSERT INTO CCDM_T_DECISION_RESULT SELECT FROM; CCDM_T_DECISION_RESULT_OLD;
COMMIT;
ALTER TABLE CCDM_T_DECISION_RESULT LOGGING;
18. 查看 oracle 状态:Isnrctl status
19. 查看当前数据库
select name from v$database;