??xml version="1.0" encoding="utf-8" standalone="yes"?>
Apress.Beginning.Java.and.Flex.Dec.2009
]]>
]]>
<!--
function ShowSize(files)
{
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(files);
var fileSize = f.size ;
if((fileSize/1024) < 1024){
alert(fileSize/1024+"K");
}else if( ((fileSize/1024) > 1024) && ((fileSize/(1024*1024)) < 1024)){
alert(fileSize/(1024*1024)+"M");
}else{
alert(fileSize/(1024*1024*1024)+"G")
}
}
//-->
</script>
]]>
1Q打开查询分析器,输入命o
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业理?-右键你要压羃的数据库--所有Q?-收羃数据?-收羃文g--选择日志文g--在收~方式里选择收羃至XXM,q里会给Z个允许收~到的最M?直接输入q个?定可以了?br />
清除Log有两U方法:
1.自动清除?br />
开放数据库选项 Trunc Log on ChkptQ数据库系l每隔一D|间自动清除Log。此Ҏ的优Ҏ无须人工q预Q由SQL Server自动执行Qƈ且一般不会出现Log溢满的情况;~点是只清除Log而不做备份?br />
2.手动清除?br />
执行命o“dump transaction”来清除Log。以下两条命令都可以清除日志Q?br />
dump transaction with truncate_only
dump transaction with no_log
通常删除事务日志中不z跃的部分可使用“dump transaction with trancate_only”命oQ这条命令写q事务日志时Q还要做必要的ƈ发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧q的情况Q用这条命令有很大的危险性,SQL Server会弹Z条警告信息。ؓ了尽量确保数据库的一致性,你应它作ؓ“最后一?#8221;?br />
以上两种Ҏ??清除日志Q而不做日志备份,若想备䆾日志Q应执行“dump transaction database_name to dumpdevice”命o?
PS:附一个更好的Ҏ
先分L据库后,直接删除日志以后,再在查询分析器里?br />
exec sp_attach_single_file_db '数据库名', '.mdf文g路径'
命o附加数据库?OVER.在别的地方看到的 不错?/span>
]]>
/Files/awed/6-13.rar
]]>
]]>
]]>--having 对分l进行限Ӟ
--查询按部门分l统计^均工资大?000的部?/span>
select round(avg(sal),2),deptno from emp group by deptno having avg(sal) >2000
--子查询,在一个查询中包含另一个查?/span>
--查询员工工资大于所有员工^均工资的员工
select ename,sal from emp where sal > (select avg(sal) from emp)
--查询各部门中工资最高的员工
select A.ename,A.sal,A.Deptno from emp A
join
(select max(sal) maxsal,deptno from emp group by deptno) B
on (A.Deptno=B.deptno and A.sal=B.maxsal)
--查询各部门中工资最高的员工Q和其工资等U?/span>
select C.ename,C.sal,D.grade,C.Deptno from salgrade D
join
(select A.ename,A.sal,A.Deptno from emp A
join
(select max(sal) maxsal,deptno from emp group by deptno) B
on (A.Deptno=B.deptno and A.sal=B.maxsal)) C
on (C.sal between D.LOSAL and D.HISAL)
--查询员工的名Uͼ工资及工资等U?/span>
select ename,sal, grade from emp A, salgrade B where (A.Sal between B.losal and B.hisal)
--查询所有员工的名称和其l理的名U?/span>
select A.empno,A.ename, B.ename as marname from emp A,emp B where A.mgr=B.empno
--查询员工的姓名和其所在部门的名称
select ename,dname from emp a,dept b where a.deptno=b.deptno
select ename,dname from emp a join dept b on a.deptno=b.deptno
--左连接,卛_左边表没有与双表匹配的时候,昄左表的全部数?/span>
select A.empno,A.ename, B.ename as marname from emp A
left join emp B on A.mgr=B.empno
--双接,卛_左边表没有与双表匹配的时候,昄双的全部数?/span>
select A.empno,A.ename, B.dname from emp A
right join dept B on A.deptno=B.deptno
--求所有员工的q_薪水{
select avg(C.grade) from
(select A.Empno,A.Ename,A.Sal,A.Deptno,B.grade from emp A
join salgrade B on A.Sal between B.losal and B.hisal) C
--查询所有员工中Qؓl理人的名称
select ename from emp where empno in(select distinct mgr from emp)
--比普通员工薪水还要高的经理h
select ename from emp where empno in (select distinct mgr from emp where mgr is not null)
and sal >
(select max(sal) from emp where empno not in
(select distinct mgr from emp where mgr is not null)--所有经理h的编?nbsp;
)
--比较效率
select * from emp where deptno=10 and ename like '%A%';
--W一条高于第二条Q当W一个条件不合适的时候就不用L对第二个条gQ而第一个条件较所以会快些
select * from emp where ename like '%A%' and deptno=10
--创徏表语?nbsp;create
orcal常用的类型有
非空U束Q?/span>NOT NULL
唯一U束Q?/span>UNIQUE
主键U束Q?/span>PRIMARY KEY
外徏U束Q?/span>REFERENCES 外键U束被参考字D必Mؓ主键
如:
CREATE TABLE CLASS(ID NUMBER(8) PRIMARY KEY,NAME VARCHAR2(20) NOT NULL)
CREATE TABLE STUDENT (
ID NUMBER(8) PRIMARY KEY,
CLASS NUMBER(8) NOT NULL REFERENCES CLASS(ID),--增加了一个外键约束,关链CLASS表的ID
NAME VARCHAR2(20) NOT NULL
)
也可以这样写
CREATE TABLE STUDENT (
ID NUMBER(8) NOT NULL,
CLASS NUMBER(8) NOT NULLQ?br />
NAME VARCHAR2(20) NOT NULLQ?br />
CONSTRAINT S_ID_PK PRIMARY KEY(ID),
CONSTRAINT S_C_RE FOREIGN KEY (CLASS) REFERENCES CLASS(ID)
)
明天需要弄清楚的事Q?br />
如何在WEBLOGIC9上徏立数据源
在徏表时跟在字段后的U束为字DU束Q徏完字D后使用CONSTRAINT建立的约束ؓ?br />
U约束,可以l约束创建约束名?br />
CONSTRAINT 增加表U束
如:增加U束Q不能同时出现NAMEQADDRESSQAGE相同的数?br />
CREATE TABLE TEST (
NAME VARCHAR2(20) NOT NULL,
ADDRESS VARCHAR2(128),
AGE NUMBER(2),
CONSTRAINT NAME_ADD_AGE_UNI QNIQUE (NAME,ADDRESS,AGE)
)
]]>
l习中所使用的表全ؓORACLE安装时所表的数据及表?br />
-- distinct L重复的记?/span>
select distinct deptno,ename,sal from emp ;
--substr(str,start,len)Q截取字W串QSTR需要截取的字符串或列,STARTZW几个字W开始,LEN截取多长
select substr(ENAME,2,2) from emp order by deptno asc,ename desc;
select chr(65) from dual; --一个数转换为字W?/span>
select ascii('A') from dual;--求一个数的ASCII?/span>
select round(23.652) from dual ;--四舍五入
select round(23.45902234,2) from dual;--四舍五入Q后点小??/span>
select to_char(sal,'$99,999.9999') from emp ;
--一个数转换为字W串q按某种格式Q?/span>
--其中一?代表一个数字,如果不够位数取后面位Q?/span>
select to_char(sal,'L99,999.9999') from emp ;--前面加上LQ即Local加上本地字符?/span>
select to_char(hiredate,'yyyy-mm-dd HH:mm:ss') from emp;
select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') today from dual ;
--日期转换函数to_date(str1,str2) str1需要{换的字符Ԍstr2{换成什么格?/span>
select * from emp where hiredate > to_date('1981-02-01','yyyy-mm-dd')
--字W串转换为数字to_number(str1,str2)str1需要{换的字符Ԍstr2{换成什么格?/span>
select sal from emp where sal > to_number('$1,220.00','$99,999.9999')
--NULL情况处理Q用nvl(str1,str2)Qstr1为需要处理的列,STR2ZؓI时默认的|如果为空时则?Q不为NULL时则直接为comm
select ename,nvl(comm,0) comm from emp ;
--四入五入到几位,
select round(max(sal),2) 最大工?round(min(sal),2) 最工?round(avg(sal),2) q_工资 from emp ;
--数字{换ؓ某种格式的字W串
select to_char(max(sal),'L9,999.99') 最大工?to_char(min(sal),'L9,999.99') 最工?to_char(avg(sal),'L9,999.99') q_工资 from emp ;
--group by分组查询
select sal,deptno from emp group by deptno,sal;
--求所有员工中单个部门工资最高的员工所有信?/span>
select A.* from emp A
inner join
(select deptno, max(sal) as total from emp group by deptno) B
on A.Deptno=B.deptno and A.Sal=B.total
]]>
与拆׃是把基本的数据cd自动的{为封装类型?br />
如:自动装箱Q它可以直接把基本类型赋值给装cd
Integer num = 10 ;
Double d = 2d ;
自动拆箱Q它可以把封装类型赋值给基本cd
int num = new Integer(10);
double d = new Double(2d);
知道了自动装׃拆箱后我们现看一下下面这两个E序代码Q?/p>
大家看看q两个程序代码的l果是怎么L呢?
其实在AutoBoxDemo1.java中结果是Qd1==d2
在AutoBoxDemo2.java中结果是Qd1!=d2
Z么结果会是这LQ我们来看了解一下!
其实刚刚q两个程序结果的不同是与==q算W比较有养I==是用来比?br />
两个基本数据cd的变量是否相{的Q而事实上==也用于判断两个对?br />
变量名是否参考同一对象。在自动装箱时对于g-128?27之间的?br />
它们被装׃ؓInteger对象后会在内存中重用Q所以在AutoBoxDemo1.java
中是相等的,而超q了?128?27之前的值时Q被装箱后的Integer对象
q不会被重用。所以AutoBoxDemo2.java中是不相{的?/p>