Oracle
踏雁寻花
分享带来乐趣
展开
-
数据库事务
Oracle中的事务体现了所有必要的ACID特征。原子性(Atomicity):事务中的所有动作要么都发生,要么都不发生。一致性(Consistency):事务将数据库从一种一致状态转变为下一种一致状态隔离性(Isolation):一个事务的影响在该事务提交前对其他事务都不可见持久性(Durability):事务一旦提交,其结果就是永久性的。JDBC代码原创 2012-08-06 23:01:38 · 643 阅读 · 0 评论 -
Oracle(三) – 增强子查询例子
–查询各个部门的平均工资select department_id, avg(salary)from employeesgroup by department_id;–查询所有薪水高于其所在部门平均薪水的员工select a.last_name, a.salary, a.department_id, b.salargfrom employees a,(select d原创 2013-07-06 13:01:54 · 1507 阅读 · 0 评论 -
Oracle(二) – 隐式的事务提交或回滚动作
Commit, rollback 是显式的提交和回滚语句,还有一些隐式的提交和回滚是大家需要知道并引起注意的:当如下事件发生是,会隐式的执行Commit动作:1 、数据定义语句被执行的时候,比如新建一张表:Create Table …2 、数据控制语句被执行的时候,比如赋权GRANT …( 或者DENY)3 、正常退出i SQL*Plus 或者PLSQL DEVELOPER, 而没原创 2013-07-06 13:04:05 · 4851 阅读 · 0 评论 -
求平均值的时候,分母到底该如何选择?
–求平均值的时候,分母到底该如何选择? 如果记录有NULL,则不把NULL,算入总数之内。select AVG(commission_pct) from employees;1、select (select sum(commission_pct) from employees)/(select count(*) from employees) from dual ?还是2、sele原创 2013-07-06 13:05:02 · 2264 阅读 · 0 评论 -
Oracle(二)- count的用法
test1表的内容如下select count(1) from test1;–包括空的 8select count(*) from test1;–包括空的 8select count(column1) from test1; –非空的统计 6select count(distinct column1) from test1; –非空,去除重复 3原创 2013-07-06 13:05:27 · 2456 阅读 · 0 评论 -
Oracle(二)-多表链接查询
多表关联查询如果未指定连接条件,则结果返回是个笛卡尔乘积比如:select employee_id, department_id, location_id from employees, departments;大多数情况下,笛卡尔乘积不是我们想要的结果,我们一般要在Where子句中提供链接条件,对于链接,通常又包括多种类型:不同的数据库厂商对链接类型有不同的定义,国际上有个凌原创 2013-07-06 13:07:29 · 1123 阅读 · 0 评论 -
Oracle(二)-隐私转换的问题(number与char)
drop table test1;create table test1(column1 varchar2(30));insert into test1 values(1234);insert into test1 values(2345);select * from test1 where column1 = 1234; –能够查询出来,不报错insert into tes原创 2013-07-06 13:07:59 · 943 阅读 · 0 评论 -
Oracle中的Round和Trunc
一、Oracle中的Round和Trunc:如同对数字进行四舍五入和按位截取一样,Oracle对时间日期也提供了这两种功能。但比起对数字进行四舍五入和截取比较复杂:这是因为时间日期是有格式的。下面看看这两个函数的定义和用途:ROUND(date [, format])TRUNC(date [, format])Round函数对日期进行“四舍五入”,Trunc函数对日原创 2013-07-06 13:09:42 · 1322 阅读 · 0 评论 -
Oracle 的 Round函数
Round函数用法:截取数字 格式如下:ROUND(number[,decimals])其中:number 待做截取处理的数值decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入。举例如下:Sq原创 2013-07-06 13:10:15 · 131865 阅读 · 7 评论 -
Oracle(一)
第一课目的:能够在主机上访问虚拟机中的数据库前提:安装虚拟机,虚拟机中有XP系统,XP系统安装oracle,安装Developer10G,安装PLSQL步骤:1、配置好虚拟机1)、虚拟机的系统ip:192.168.15.702)、Virtual Network Editor配置VMnet8,Subnet IP:192.168.15.0,Gateway IP:192.168.原创 2013-07-06 13:10:43 · 955 阅读 · 0 评论 -
NEXT_DAY(’01-SEP-95′,1) 错误:ORA-01843:无效的月份
NEXT_DAY(’01-SEP-95′,1) 此SQL语句表示下周第一天(即下周日)执行这条语句:select NEXT_DAY(’01-SEP-95′,1) from dual;报错:ORA-01843:not a valid month如何解决?方案:修改注册表。HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORA原创 2013-07-06 13:09:08 · 1547 阅读 · 0 评论 -
TO_DATE()函数:日期转换时使用RR格式的注意事项
上图说明:通过图就能够基本看出来使用RR与使用YY的区别,一个更简单的规则:RR:就近原则(选择两个世纪中比较近的一个)YY:当前世纪(选择当前世纪的)原创 2013-07-06 13:08:33 · 2900 阅读 · 1 评论 -
数据类型
create table type_num( col_1 number, col_2 number(4), col_3 number(5, 2));--col_1:任意的数字(整数或小数),一般不用--col_2:最长4位的整数--col_3:最多有5个数字,小数位最多两位-- 整数位最多三位1、char是定原创 2012-08-06 23:32:46 · 663 阅读 · 0 评论 -
数据库表操作实例
--查询不同省或城市的用户信息(user_t)select * from user_twhere province='湖南省'select * from user_twhere city='长沙市';--查询不同省或城市的用户信息(user_old)select * from user_old where province like '湖南省%';原创 2012-08-06 23:37:14 · 1103 阅读 · 0 评论 -
检查约束
--在性别列上添加check(检查约束)--check约束语法--alter table 表名--add constraints 约束名 --check(布尔表达式);alter table studentsadd constraints ch_gender check(gender='男' or gender='女');insert into st原创 2012-08-06 23:49:26 · 2253 阅读 · 0 评论 -
外键约束
--创建一个班级表create table classes( class_no number(4) primary key, class_name varchar2(8) unique not null );insert into classes(class_no, class_name)values(1, '1102B');insert into原创 2012-08-07 00:16:19 · 896 阅读 · 0 评论 -
唯一约束
insert into users(user_name, pwd)values('admin', '123456');--定义唯一约束有两种方法--(直接在建表时定义)create table users( user_name varchar2(20) unique not null, pwd varchar2(20));原创 2012-08-07 00:45:50 · 914 阅读 · 0 评论 -
主键约束
insert into students(stu_name, gender, age)values('zhangsan', '男', 23);--定义主键约束有两种方法--(直接在建表时定义)create table students( stu_no number(4) primary key not null, stu_name varc原创 2012-08-07 00:46:29 · 979 阅读 · 0 评论 -
Oracle(二) – 事务控制解释
在Commit 或者Rollback前后数据的状态:1、在数据已经被更改,但没有Commit前,被更改记录处于被锁定状态,其他用户无法进行更改;2、在数据已经被更改,但没有Commit前,只有当前Session的用户可以看到这种变更,其他Session的用户看不到数据的变化。3、在数据已经被更改,并且被Commit后,被更改记录自动解锁,其他用户可以进行更改;4、在数据已经原创 2013-07-06 13:02:34 · 904 阅读 · 0 评论 -
delete与truncate区别
delete from copy_emp;会提示你是否committruncate table copy_emp;不会提示原创 2013-07-06 13:04:25 · 928 阅读 · 0 评论 -
Win7 下oracle 11g ORA-12514错误
安装的软件是:win32_11gR2_OracleXE,系统是64位的,win7,安装oracle的时候是默认安装的。tnsping 都能通。废话不多说了,直接上几个文件的内容:listener.oraSID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORAC原创 2013-07-24 14:47:32 · 5230 阅读 · 0 评论