用户和权限1创建用户管理员才有权限创建用户 sys/system --管理员登录conn sys/oracle@orcl as sysdba;--创建用户方案---必须管理员身份才能操作 create user username identified by password;create user wangwu identified by w123;--删除用户方案drop user username cascade;---修改密码alter user username identified by newpassword;2 用户解锁上锁--用户解锁和上锁---必须管理员身份才能操作alter user username account...
1
SELECT ‘alter table ‘|| t.table_name||‘ disable constraint ‘||t.constraint_name||‘;‘
FROM user_constraints t WHERE t.constraint_type = ‘R‘;
2
SELECT ‘ALTER TABLE ‘|| table_name || ‘ ENABLE CONSTRAINTS ‘ || t.constraint_name ||‘;‘
FROM user_constraints t
WHERE t.constraint_type = ‘R‘ ;
3
ALTER TABLE TBL_NAME DISABLE CONSTRAINTS FK_TBL_ID;
4
ALTER TABLE TBL_NAME ENABLE CONS...
很久不用SQL语句了,貌似入职新公司后,又回归到了三年前的SQL时代,一写一坨的SQL好吧,也当回归一下过去的知识。
下面是统计2月份某数据的计费统计select t.telno as 主号,VID 副号,t.area_code 地区, t.reg_time 注册时间,t.reg_source 注册工号,t.bill_start_date 计费时间, (case state when 0then ‘0 正常‘ end)计费状态 from t_unreg_log t where t.bill_start_date<to_date(‘20150301‘,‘yyyymmdd‘) and t.bill_st...
1. 选用适合的ORACLE优化器
ORACLE的优化器共有3种:
a. RULE (基于规则)
b. COST (基于成本)
c. CHOOSE (选择性)
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。
为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息...
2014-01-21 10:48匿名 分类:其他编程语言 | 浏览 2746 次
oracle中有批量插入语句insert into tableA (列1,列2,列3) select 列1,列2 from tableB。现在问题是这样的,tableA有3列,而通过最后的select语句所能获得的列只有列1和列2。但列3是非空的,所以插入时必须填写。请问在此如何在此语句后面加SQL以完成插入??小弟跪谢了!!!
A中有3例,B表中你只能获得2列,可以用常量占位解决insert into tableA (列1,列2,列3) s...
Oracle语句优化1
优化就是选择最有效的方法来执行SQL语句。Oracle优化器选择它认为最有效的 方法来执行SQL语句。 1. IS NULL和IS NOT NULL 如果某列存在NULL值,即使对该列建立索引也不会提高性能。 2. 为不同的工作编写不同的SQL语句块。 为完成不同的工作编写一大块SQL程序不是好方法。它往往导致每个任务的结果不优 化。若要SQL完成不同的工作,一般应编写不同的语句块比编写一个要好。 ...
来公司第一天,也没什么事干,经理说今天需要把报表做出来,需要写几个oracle语句,用来查询各类别下的人
员数量和占总人数比例。如下图
统计人数到不是问题,关键是比例不知道该怎么去做,上网查了好几个方式都尝试过了,但还是没能弄出来,一
下午的时间全花在解决这个问题上了,最后在要下班的时候,我突然看到了oracle中聚合函数sum() over的使用,最
终使得问题得到了解决。
实现代码:
SELECT(CASE WHEN db_psndoc...
Oracle sql 性能优化调整 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种:a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行anal...
USER memsspc IDENTIFIED BY 123; --创建用户GRANT CONNECT,RESOURCE,DBA TO memsspc; --赋值权限--cmd 中导入命令
IMP memsspc/123@ORCL FILE=D:\yuanzhangliu_work\suzhou\spc.dmp FULL=Y; oracle语句随笔标签:本文系统来源:http://www.cnblogs.com/mc67/p/5619323.html
rn,last_name,salary from(select rownum rn,last_name,salary from(select last_name,salary from employees order by salary desc)
) where rn>10 and rn<=20因为rownum只能用<,<=,所以将rn当成真实的一列供外部查询语句查询。Oracle语句标签:本文系统来源:http://www.cnblogs.com/james-roger/p/5689995.html
个人学习笔记
查询:
select * from tb_project_plan;
添加字段:alter table tb_project_node add (mould_number varchar2(45));
插入新的值:insert into tb_project_node (mould_number,id) values (‘模号1‘,2);
修改值(原来为空值):update tb_project_node set mould_number=‘模号1‘ where project_node=‘node_1‘;
根据id删除某行:delete from tb_project_node where id=2;
根据相同字段查询2张表的所有字段值:select * fro...
insert into DYDATAMAIN(id,userno,meterno,auditbn,setmanname,ilevel) values (15,1,1,1,‘冰冰妹纸‘,3); select * from DYDATAMAIN where setmanname=‘冰冰妹纸‘and auditbn=1 order by to_number(ilevel) asc,to_number(id) asc oracle 语句标签:acl rom number values where rac name sel main 本文系统来源:http://www.cnblogs.com/zzyru...
Oracle删除 字段值完全相同的记录,直留一条:delete from fuhe a where rowid > (select min(rowid) from fuhe b where a.KaiGuanDuan=b.KaiGuanDuan and a.RongLiangPercent=b.RongLiangPercent and a.hz=b.hz and a.P=b.P and a.Q=b.Q);
Z
Oracle_语句标签:数据 int color ber date order by art 字段 完全 本文系统来源:http://www.cnblogs.com/DrMess/p/7355900.html
< column_list > ))效果图:
--行转列
select *from SalesList pivot(max(salesNum) for shangPin in ( --shangPin 即要转成列的字段‘上衣‘ as 上衣, --max(salesNum) 此处必须为聚合函数,‘裤子‘ as 裤子, --in () 对要转成列的每一个值指定一个列名‘袜子‘ as 袜子,‘帽子‘ as 帽子))where 1 = 1; 注意 pivot里面必须使用聚合函数。
2、列转行(UNPIVOT函数)
语法:TABLE_SOURCE
UNP...
(hours+minutes+seconds) AS total_seconds from (
select
to_char(sysdate,(‘HH24‘))*60*60 AS hours,
to_char(sysdate,(‘mi‘))*60 AS minutes,
to_char(sysdate,‘ss‘) AS seconds
from A
);
解读:
AS:是给前面的结果指定一个新的列
HH21:时
mi:分
ss:秒
算出小时和分钟的秒数,然后秒就不用算了,在后面直接相加,hours+minutes+seconds,指定给新的列total_seconds oracle语句,时分秒格式转成秒标签:mamicode ...