out 了 oracle 8i
近来接了个简单的系统做,外包的,用的数据库是oracle8i,
一开始我使用 ojdbc6.jar来做连接,连不上,找一番,原来官方oracle8i出的驱动只有 class12.jar 和class14.jar ,最要命的是不支持jdk1.4及1.4以上的,工作量马上就上来了。不甘心啊。
最后试了下,能用的只有ojadb14.jar ,连上了,不过通过hibernate生成的sql实在太烂,top 10都生成出来,部分语句能用,部分不能用,大部分不能用,好多情况都是手写的sql.
手写的也挺是累了,一个项目加班了好些天。
不过也有些心得,例如 orcale 的分页,如果heibernate能用的话就不自个写了
select * from
(select row_.*, rownum from (
select * from table_name where a =? order by id
) where rownum <=50
)where rownum >10
相关文档:
什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
用sql*plus或第三方可以运行sql语句的程序登录数据库:
增加一个列:
ALTER TABLE 表名 ADD(列名 数据类型);
如:
ALTER TABLE emp ADD(weight NUMBER(38,0));
修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):
ALTER TABLE 表名 MODIFY(列名 数据类型);
如:
ALTER TABLE emp MODIFY(wei ......
select count(1) from dictionary;
select * from dba_data_files;
select count(1) from dba_objects t where t.owner='BESTTONE';
select * from dba_tablespaces t where t.tablespace_name='BESTTONE';
select count(1) from dba_tables t where t.owner='BESTTONE';
select t.table_name,t.comments from diction ......
update EMPLOYEE set BADGE=trim(BADGE); // 这样可去除字符串两边的空格
update EMPLOYEE set BADGE=replace(BADGE,' ',''); // 这样能去除所有的空格
SELECT replace(string,chr(13),'') from DUAL ----换行
SELECT replace(string,chr(10),'') fr ......