oracle

1、时间Date类型比较

select * from aaa where rq between to_date('2001-11-01','yyyy-MM-DD') and to_date('2002-03-01' ,'YYYY-MM-DD');

select * from aaa where rq>;=to_date('2001-11-01','yyyy-MM-DD') and rq<=to_date('2002-03-01' ,'YYYY-MM-DD'); 这种据说效率比用between函数高一些。

查询2000年以后的:select sum(SaleNum) from SCOTT.Sale where saledate>=to_date('2000','yyyy')

其他关于日期可参考:http://www.cnblogs.com/hl3292/archive/2010/11/03/1868159.html

2、通过sql/plus往表中插入了数据,但是用程序查询的时候却没有。原因:没有commit.

3、java.sql.SQLException: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Oracle  java.sql.SQLException: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Class.forName("oracle.jdbc.driver.OracleDriver");
   // Driver oracle = new oracle.jdbc.driver.OracleDriver() ;
   String url = "jdbc:oracle:thin:@localhost:1521:XE";
   Connection c = DriverManager.getConnection(url, "sys as sysdba",
     "system");

将用户名的后面加上红色字体就行了

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

4、用sql/plus登录时: sqlplus连接登录数据库时,出现 ORA-28009错误

主机字符串那里应该这样输入:全局数据库+ as sysdba.   这样就可以进去了。

5、删除用户:drop user test cascade;

6、删除表的几种方式:(1)delete(2)drop(3)truncate  注意它们的区别。

7、禁用启用约束——主键与外键(http://www.itpub.net/forum.php?mod=viewthread&tid=1810430)

答案是C
根据题意emp_no列是主键,mgr_no是外键,关联到emp表本身的主键emp_no列上。
disable主键约束,带上cascade选项的时候,主键和外键都会被禁用掉。
重新启用主键时,主键会变成enable,外键不受影响仍然disable.  

查看约束的状态 (是enabled还是disabled等) :select  OWNER,CONSTRAINT_NAME, TABLE_NAME,STATUS from user_constraints where table_name='表名';

posted @ 2014-12-08 22:37  晴心  阅读(255)  评论(0编辑  收藏  举报