--sysdba用户登陆
--1.建立用户:
/*
10.163.201.245
root hwmtv
su - oracle
sqlplus / as sysdba
*/
create user iassess identified by iassess default tablespace imp;
--2赋权
---2.1.基本权限
grant connect to iassess;
grant resource to iassess;
grant execute on dbms_lock to iassess;
---2.2.扩展权限
----2.2.1对象权限
grant select on dba_kgllock to iassess;
grant select on v_$lock to iassess;
grant select on v_$mystat to iassess;
grant select on v_$parameter to iassess;
grant select on v_$process to iassess;
grant select on v_$session_wait to iassess;
grant select on v_$sqltext to iassess;
grant select on v_$session to iassess;
grant select on v_$statname to iassess;
grant select on v_$sesstat to iassess;
----2.2.2系统权限
grant alter any trigger to iassess;
grant alter any type to iassess;
grant alter system to iassess;
grant create any directory to iassess;
grant create any index to iassess;
grant create any table to iassess;
grant create any trigger to iassess;
grant create any type to iassess;
grant create any view to iassess;
grant drop any index to iassess;
grant drop any table to iassess;
grant drop any trigger to iassess;
grant drop any type to iassess;
grant drop any view to iassess;
grant query rewrite to iassess;
grant select any table to iassess;
grant create sequence to iassess;
grant create database link to iassess;
-----收回权限
revoke drop any index from iassess;
-----------删除用户
--需要sysdba用户登陆操作
drop user iassess cascade;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--定时任务
select sysdate from dual;
--创建job(如果为过程,则过程不要有入参和出参)
begin
sys.dbms_scheduler.create_job(job_name => 'P_CMDINFO_TRANS_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'p_dispose_queue_add',
start_date => to_date('10-07-2013 14:08:20',
'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Minutely;Interval=1',--Monthly
end_date => to_date(null),
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => false,
comments => '定时把任务移到待处理队列');
end;
--查看
select * from user_scheduler_jobs;
--查看job状态:dba权限
SELECT JOB_NAME, STATE
FROM DBA_SCHEDULER_JOBS
WHERE JOB_NAME = 'P_CMDINFO_TRANS_JOB';
--查看job的运行详情
select log_id, job_name, status, to_char(log_date, 'DD-MON-YYYY HH24:MI')
log_date from dba_scheduler_job_run_details where job_name = 'P_CMDINFO_TRANS_JOB';
--删除job:删除多个job,job之间用,隔开
begin
dbms_scheduler.drop_job (
job_name => 'P_CMDINFO_TRANS_JOB',
force => true);
end;
--修改job:例如修改job的执行频率:frequency
begin
dbms_scheduler.set_attribute (
name => 'P_CMDINFO_TRANS_JOB',
attribute => 'repeat_interval',
value => 'FREQ=DAILY'); --每天执行一次
end;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--创建触发器
create or replace trigger task_idc_stuts_oper before update
on t_js_idc_CPStatus
for each row
declare
v_status Integer;
v_flag varchar2(100);
begin
v_status := /:new.status;
v_flag := case v_status when 0 then '未结算' when 1 then '确认中' when 2 then '已结算' else '驳回' end;
update t_js_data_temp t set t.value = v_flag where t.processid = /:old.processid
and t.rownumber in (select t.rownumber from t_js_data_temp t
where t.processid = /:old.processid
and t.value = /:old.cpname
and t.sheetnumber=1)
and t.colnumber = 9
and t.sheetnumber =1;
end task_idc_stuts_oper;
--删除触发器
drop trigger task_idc_stuts_oper;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--获取当前时间
select to_char(sysdate,'yyyymm')from dual;
--获取2个月前的时间
select to_char(sysdate-interval'2'month,'yyyymm') from dual;
select to_char(add_months(trunc(sysdate),-2),'yyyymm')from dual;
select to_char(add_months(trunc(last_day(sysdate)+1),-3),'yyyymmdd')from dual;
select to_char(add_months(last_day(sysdate)+1,-3),'yyyymmdd')from dual;
-----
select to_char(last_day(to_date('201305','yyyymm'))+1,'yyyymmdd') from dual;
select to_char(add_months(last_day(to_date('201305','yyyymm'))+1,-1),'yyyymmdd')from dual;
--获取每月第一天
select last_day(sysdate)+1 from dual;
-------------------
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
alter session enable parallel dml;
-- 记录任务开始时
select trunc(sysdate, 'mm') from dual;
-- 给起止时间赋
select add_months(trunc(sysdate, 'mm'), -2) from dual;
select to_char(add_months(trunc(sysdate, 'mm'), -2), 'yyyy-mm') from dual;
-------------------------------------------------
execute immediate 'alter session set nls_date_format = ''yyyy-mm-dd hh24:mi:ss''';
execute immediate 'alter session enable parallel dml';
-- 记录业务时间
v_static_month := to_char(add_months(trunc(sysdate, 'mm'), -2), 'yyyy-mm');
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--1.闪回表到某个时间点的状态(以t_document_model_info为例)
alter table t_document_model_info enable row movement;
select sysdate from dual;
flashback table t_document_model_info to timestamp to_timestamp('20130403154000','yyyymmddhh24miss');
--2.闪回对象到某个时间点的状态(要以DB的角色登陆)
select * from dba_source AS OF TIMESTAMP TO_TIMESTAMP('2013-4-3 15:00:32', 'YYYY-MM-DD HH24:MI:SS') where name like upper('%P_JS_CONFIG_QUERY_SHEET%') and owner ='ASSESS_BASIC2'order by line;
--3.
创建表,只需要表结构
create table t_js_parameter_all_temp as select * from t_js_parameter_all where 1=2;
创建表,并且数据也相同
create table t_js_parameter_all_temp as select * from t_js_parameter_all;
--4.查询去重后的数据
select statis_month,
product_id,
creator_id,
playmode,
user_count,
time_count,
duration,
volume,
fee,
msisdntype
from (select t.*,
row_number() over(partition by t.product_id, t.creator_id order by t.product_id, t.creator_id) rown
from T_JS_PARAMETER_ALL_temp t) tt
where tt.rown = 1;
--5.设置时间显示格式
execute immediate 'alter session set nls_date_format = ''yyyy-mm-dd hh24:mi:ss''';
execute immediate 'alter session enable parallel dml';
--导入bmp文件
imp assess/assess@impsh file=D:\t_fz_hisbilldlstotal_filter.dmp tables=t_fz_hisbilldlstotal_filter full=y buffer=1024 ignore=y
--求两个时间之间的月份差
select months_between(to_date( '2013-10 ', 'yyyy-mm '),to_date( '2013-01-01 ', 'yyyy-mm-dd ')) from dual;
--自定义数组类型
type operatorcode is table of t_boss_booschargeinfo.operatorcode %type index by binary_integer;
v_operatorcode operatorcode;
--循环数据
for i in v_objectid.first .. v_objectid.last loop
update t_data_microadjust t1
set t1.objectid = v_objectid(i)
where t1.operatorcode = v_operatorcode(i)
and t1.task_processid = i_task_processID
and t1.type = i_type;
commit;
end loop;
------------case when 函数与decode函数
case when v.quarter_type=0 and v.templateid=13 then 0 else sum(v.award_pool) * 0.5 end
decode(v.quarter_type,0,'',sum(v.award_pool) * 0.5)
decode函数的运用(类似于Java三目运算)
update T_JS_PARA_RULE_TEMP t
set t.row_count = decode(t.mark, 2, 1, -1)
where t.static_month = '2013-02';
--获取分区
select to_char(to_date('2013-05','yyyy-mm'),'MONyyyy','nls_date_language=american') from dual;
--查看主机的进程ID
select t.PADDR from v$session t where t.sid = '428';
select t.SPID from v$process t where t.ADDR = '000000009C3C6D78';
--把一个字段分割成多个字段
with t as
(select name, descr from deal_t x)
select REPLACE(name,'del','') name,
REPLACE(REPLACE(REPLACE(substr(descr,1,instr(descr,';')-1) ,'Cpid=',''),'cpid=',''),'del','') Cpid,
REPLACE(REPLACE(substr(descr,instr(descr,';')+1,instr(descr,';',1,2)-instr(descr,';')-1) ,'serviceid=',''),'del','') serviceid,
REPLACE(substr(descr,instr(descr,';',1,2)+1,instr(descr,';',1,3) -instr(descr,';',1,2)-1) ,'producttype=','') producttype,
REPLACE(substr(descr,instr(descr,';',1,3)+1,instr(descr,';',1,4) -instr(descr,';',1,3)-1),'productname=','') productname,
REPLACE(substr(descr,instr(descr,';',1,4)+1,instr(descr,';',1,5) -instr(descr,';',1,4)-1) ,'cpname=','') cpname
from t ;
---表分区
删除一个表分区(drop会把分区都删除,而truncate不会删除分区,只会删除分区中的数据)
alter table 表名 truncate partition 分区名;
alter table 表名称 drop partition 分区名称
增加分区
rang分区:alter table 表名称 add partition 分区名称 values less than (to_date('',''));
list分区:alter table XXXXX add partition 分区名 values('值');
--查分区
select to_char(to_date('2013-05','yyyy-mm'),'MONyyyy','nls_date_language=american') from dual;
----代码块中执行过个过程
declare
begin
过程名(入参);
end;
----group 中包含函数
select /*+parallel(t,16)*/count(to_char(t.billtime,'yyyymmdd')),to_char(t.billtime,'yyyymmdd')
from t_fz_hisbilldlstotal_filter partition (JAN2014 ) t group by to_char(t.billtime,'yyyymmdd') ;
------------
还有过程的创建,函数的创建,包的创建
--1.建立用户:
/*
10.163.201.245
root hwmtv
su - oracle
sqlplus / as sysdba
*/
create user iassess identified by iassess default tablespace imp;
--2赋权
---2.1.基本权限
grant connect to iassess;
grant resource to iassess;
grant execute on dbms_lock to iassess;
---2.2.扩展权限
----2.2.1对象权限
grant select on dba_kgllock to iassess;
grant select on v_$lock to iassess;
grant select on v_$mystat to iassess;
grant select on v_$parameter to iassess;
grant select on v_$process to iassess;
grant select on v_$session_wait to iassess;
grant select on v_$sqltext to iassess;
grant select on v_$session to iassess;
grant select on v_$statname to iassess;
grant select on v_$sesstat to iassess;
----2.2.2系统权限
grant alter any trigger to iassess;
grant alter any type to iassess;
grant alter system to iassess;
grant create any directory to iassess;
grant create any index to iassess;
grant create any table to iassess;
grant create any trigger to iassess;
grant create any type to iassess;
grant create any view to iassess;
grant drop any index to iassess;
grant drop any table to iassess;
grant drop any trigger to iassess;
grant drop any type to iassess;
grant drop any view to iassess;
grant query rewrite to iassess;
grant select any table to iassess;
grant create sequence to iassess;
grant create database link to iassess;
-----收回权限
revoke drop any index from iassess;
-----------删除用户
--需要sysdba用户登陆操作
drop user iassess cascade;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--定时任务
select sysdate from dual;
--创建job(如果为过程,则过程不要有入参和出参)
begin
sys.dbms_scheduler.create_job(job_name => 'P_CMDINFO_TRANS_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'p_dispose_queue_add',
start_date => to_date('10-07-2013 14:08:20',
'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Minutely;Interval=1',--Monthly
end_date => to_date(null),
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => false,
comments => '定时把任务移到待处理队列');
end;
--查看
select * from user_scheduler_jobs;
--查看job状态:dba权限
SELECT JOB_NAME, STATE
FROM DBA_SCHEDULER_JOBS
WHERE JOB_NAME = 'P_CMDINFO_TRANS_JOB';
--查看job的运行详情
select log_id, job_name, status, to_char(log_date, 'DD-MON-YYYY HH24:MI')
log_date from dba_scheduler_job_run_details where job_name = 'P_CMDINFO_TRANS_JOB';
--删除job:删除多个job,job之间用,隔开
begin
dbms_scheduler.drop_job (
job_name => 'P_CMDINFO_TRANS_JOB',
force => true);
end;
--修改job:例如修改job的执行频率:frequency
begin
dbms_scheduler.set_attribute (
name => 'P_CMDINFO_TRANS_JOB',
attribute => 'repeat_interval',
value => 'FREQ=DAILY'); --每天执行一次
end;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--创建触发器
create or replace trigger task_idc_stuts_oper before update
on t_js_idc_CPStatus
for each row
declare
v_status Integer;
v_flag varchar2(100);
begin
v_status := /:new.status;
v_flag := case v_status when 0 then '未结算' when 1 then '确认中' when 2 then '已结算' else '驳回' end;
update t_js_data_temp t set t.value = v_flag where t.processid = /:old.processid
and t.rownumber in (select t.rownumber from t_js_data_temp t
where t.processid = /:old.processid
and t.value = /:old.cpname
and t.sheetnumber=1)
and t.colnumber = 9
and t.sheetnumber =1;
end task_idc_stuts_oper;
--删除触发器
drop trigger task_idc_stuts_oper;
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--获取当前时间
select to_char(sysdate,'yyyymm')from dual;
--获取2个月前的时间
select to_char(sysdate-interval'2'month,'yyyymm') from dual;
select to_char(add_months(trunc(sysdate),-2),'yyyymm')from dual;
select to_char(add_months(trunc(last_day(sysdate)+1),-3),'yyyymmdd')from dual;
select to_char(add_months(last_day(sysdate)+1,-3),'yyyymmdd')from dual;
-----
select to_char(last_day(to_date('201305','yyyymm'))+1,'yyyymmdd') from dual;
select to_char(add_months(last_day(to_date('201305','yyyymm'))+1,-1),'yyyymmdd')from dual;
--获取每月第一天
select last_day(sysdate)+1 from dual;
-------------------
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
alter session enable parallel dml;
-- 记录任务开始时
select trunc(sysdate, 'mm') from dual;
-- 给起止时间赋
select add_months(trunc(sysdate, 'mm'), -2) from dual;
select to_char(add_months(trunc(sysdate, 'mm'), -2), 'yyyy-mm') from dual;
-------------------------------------------------
execute immediate 'alter session set nls_date_format = ''yyyy-mm-dd hh24:mi:ss''';
execute immediate 'alter session enable parallel dml';
-- 记录业务时间
v_static_month := to_char(add_months(trunc(sysdate, 'mm'), -2), 'yyyy-mm');
----------------------------------------------------------------------------
----------------------------------------------------------------------------
--1.闪回表到某个时间点的状态(以t_document_model_info为例)
alter table t_document_model_info enable row movement;
select sysdate from dual;
flashback table t_document_model_info to timestamp to_timestamp('20130403154000','yyyymmddhh24miss');
--2.闪回对象到某个时间点的状态(要以DB的角色登陆)
select * from dba_source AS OF TIMESTAMP TO_TIMESTAMP('2013-4-3 15:00:32', 'YYYY-MM-DD HH24:MI:SS') where name like upper('%P_JS_CONFIG_QUERY_SHEET%') and owner ='ASSESS_BASIC2'order by line;
--3.
创建表,只需要表结构
create table t_js_parameter_all_temp as select * from t_js_parameter_all where 1=2;
创建表,并且数据也相同
create table t_js_parameter_all_temp as select * from t_js_parameter_all;
--4.查询去重后的数据
select statis_month,
product_id,
creator_id,
playmode,
user_count,
time_count,
duration,
volume,
fee,
msisdntype
from (select t.*,
row_number() over(partition by t.product_id, t.creator_id order by t.product_id, t.creator_id) rown
from T_JS_PARAMETER_ALL_temp t) tt
where tt.rown = 1;
--5.设置时间显示格式
execute immediate 'alter session set nls_date_format = ''yyyy-mm-dd hh24:mi:ss''';
execute immediate 'alter session enable parallel dml';
--导入bmp文件
imp assess/assess@impsh file=D:\t_fz_hisbilldlstotal_filter.dmp tables=t_fz_hisbilldlstotal_filter full=y buffer=1024 ignore=y
--求两个时间之间的月份差
select months_between(to_date( '2013-10 ', 'yyyy-mm '),to_date( '2013-01-01 ', 'yyyy-mm-dd ')) from dual;
--自定义数组类型
type operatorcode is table of t_boss_booschargeinfo.operatorcode %type index by binary_integer;
v_operatorcode operatorcode;
--循环数据
for i in v_objectid.first .. v_objectid.last loop
update t_data_microadjust t1
set t1.objectid = v_objectid(i)
where t1.operatorcode = v_operatorcode(i)
and t1.task_processid = i_task_processID
and t1.type = i_type;
commit;
end loop;
------------case when 函数与decode函数
case when v.quarter_type=0 and v.templateid=13 then 0 else sum(v.award_pool) * 0.5 end
decode(v.quarter_type,0,'',sum(v.award_pool) * 0.5)
decode函数的运用(类似于Java三目运算)
update T_JS_PARA_RULE_TEMP t
set t.row_count = decode(t.mark, 2, 1, -1)
where t.static_month = '2013-02';
--获取分区
select to_char(to_date('2013-05','yyyy-mm'),'MONyyyy','nls_date_language=american') from dual;
--查看主机的进程ID
select t.PADDR from v$session t where t.sid = '428';
select t.SPID from v$process t where t.ADDR = '000000009C3C6D78';
--把一个字段分割成多个字段
with t as
(select name, descr from deal_t x)
select REPLACE(name,'del','') name,
REPLACE(REPLACE(REPLACE(substr(descr,1,instr(descr,';')-1) ,'Cpid=',''),'cpid=',''),'del','') Cpid,
REPLACE(REPLACE(substr(descr,instr(descr,';')+1,instr(descr,';',1,2)-instr(descr,';')-1) ,'serviceid=',''),'del','') serviceid,
REPLACE(substr(descr,instr(descr,';',1,2)+1,instr(descr,';',1,3) -instr(descr,';',1,2)-1) ,'producttype=','') producttype,
REPLACE(substr(descr,instr(descr,';',1,3)+1,instr(descr,';',1,4) -instr(descr,';',1,3)-1),'productname=','') productname,
REPLACE(substr(descr,instr(descr,';',1,4)+1,instr(descr,';',1,5) -instr(descr,';',1,4)-1) ,'cpname=','') cpname
from t ;
---表分区
删除一个表分区(drop会把分区都删除,而truncate不会删除分区,只会删除分区中的数据)
alter table 表名 truncate partition 分区名;
alter table 表名称 drop partition 分区名称
增加分区
rang分区:alter table 表名称 add partition 分区名称 values less than (to_date('',''));
list分区:alter table XXXXX add partition 分区名 values('值');
--查分区
select to_char(to_date('2013-05','yyyy-mm'),'MONyyyy','nls_date_language=american') from dual;
----代码块中执行过个过程
declare
begin
过程名(入参);
end;
----group 中包含函数
select /*+parallel(t,16)*/count(to_char(t.billtime,'yyyymmdd')),to_char(t.billtime,'yyyymmdd')
from t_fz_hisbilldlstotal_filter partition (JAN2014 ) t group by to_char(t.billtime,'yyyymmdd') ;
------------
还有过程的创建,函数的创建,包的创建
- oracle.rar (3.6 KB)
- 下载次数: 2
发表评论
-
oracle外连接
2015-07-13 16:22 0看例子: 1.创建两张表:taba,tabb create t ... -
mysql常用命令
2015-04-15 16:38 614---创建数据库 show databases;--查看 ... -
oracle数据库增加表空间
2014-04-03 11:37 8411、查看vg_data的空间是否可用 A3A-GLDB1:~ ... -
Linux环境下启停oracle服务
2014-03-27 08:56 1128通过root登陆,密码:***** su - oracle ... -
有效关闭oracle死锁进程的具体步骤
2014-03-27 08:54 6321.查哪个过程被锁 查V$DB_OBJECT_CAC ...
相关推荐
根据自己对 Oracle 的理解,把这些 blog 进行了分类, 并进行一些整理方便自己的查看 。 这些文档 中有很多内引用 借鉴了前辈们的资料 和 google 上的 一些信息 。 如: eygle,君三思 ,谭怀远 ,陈吉平等前辈们的...
Oracle技术大牛整理常见问题很详细的讲解,总共含有千...根据自己对 Oracle 的理解,把这些 blog 进行了分类, 并进行一些整理方便自己的查看 。 这些文档 中有很多内引用 借鉴了前辈们的资料 和 google 上的 一些信息
### Oracle空间碎片整理 ...综上所述,Oracle空间碎片的整理是一项重要的维护工作,对于提高数据库性能和存储效率具有重要意义。通过对空间碎片的合理评估与有效的整理措施,可以显著改善数据库的整体表现。
从给定的文件标题“Oracle学习资料 自己整理的”以及描述“从OCA到OCP内容,常用的命令和使用方法,技巧等”,我们可以提炼出一系列关于Oracle数据库管理与操作的关键知识点,涵盖从初级到高级的技能提升路径。...
利用DBMS_SPACE包对Oracle 表碎片进行监控与清理,
Oracle性能优化工具整理 Oracle数据库作为全球广泛使用的商业数据库管理系统,其性能优化对于确保数据库稳定运行、提高应用响应速度至关重要。性能优化不仅需要通过合理设计数据库模式、编写高效SQL语句等手段,而且...
在Oracle数据库管理系统中,段(Segment)是存储数据库对象(如表、索引等)的主要结构。当创建一个数据库对象时,它会被分配到特定的表空间中,表空间是数据库中逻辑存储的单位,由一个或多个数据文件组成。段则由...
以下是一些关键的Oracle命令,这些内容是根据"Oracle命令(自己整理)"的标题和描述整理得出的,旨在帮助大家提升在Oracle操作中的技能。 1. SQL*Plus命令: - `connect`:连接到Oracle数据库,格式为`connect ...
Oracle自整理学习资料是针对数据库管理系统Oracle的一套全面学习资源,涵盖了从基础概念到高级特性的深入理解。Oracle是全球广泛使用的大型企业级关系型数据库系统,尤其在金融、电信等行业有着重要应用。本资料旨在...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
全面覆盖:资源中的《Oracle关键词.xls》和《Oracle关键词.html》文件,系统地罗列并解释了Oracle数据库中的所有关键词,包含DDL与DML语句,覆盖开发过程中的各个关键环节。 实战导向:提供丰富的函数代码示例《建表...
以下是一些关于Oracle语法和个人学习整理的关键知识点: 1. **初始口令**:Oracle安装完成后,预设了一些默认的系统用户及其口令,例如: - internal/oracle - sys/change_on_install - system/manager - scott...
Oracle数据库中的高水位(HWM)概念对于理解为何需要整理表碎片至关重要。高水位是指数据段中已使用过和未使用过的数据块之间的分界线。在高水位以下的数据块曾经被使用过,而以上则是从未被使用或初始化过的空间。...
因此,定期的、有针对性的碎片整理工作仍然是必要的。 综上,Oracle碎片整理是一项关键的数据库维护任务,通过合理配置数据库参数、定期执行碎片整理操作,可以有效地提升数据库性能,减少空间浪费,确保系统的稳定...
"Oracle数据库碎片如何整理" Oracle数据库碎片是指在数据库中由于表空间、段、范围、自由空间的逻辑关系导致的碎片问题,会对系统性能和表空间造成影响。这种碎片问题可以通过计算FSFI值来检测,高于30的FSFI值表示...
本篇文档旨在整理关于AWR的知识点,以及它在Oracle性能调整中的应用。 一、AWR的基本概要 AWR是一个数据库组件,它周期性地自动收集Oracle数据库的统计信息并存储到数据仓库中。这些统计信息包括系统统计、对象统计...
本文将基于"oracle常用sql整理"的主题,深入探讨Oracle SQL的一些核心概念、语句及其实用技巧,适合初级到中级水平的学习者。 一、SQL基础 SQL是标准化的查询语言,分为DDL(Data Definition Language)、DML(Data...
"ORACLE函数大全与整理"这个资源集成了Oracle数据库中常用和不常用的各类函数,为Oracle应用开发者提供了详尽的参考。 一、Oracle函数类型 Oracle函数主要分为以下几类: 1. 数学函数:如ABS()用于返回绝对值,MOD...