Oracle数据库自我总结(转)

1.Oracle连接远程服务器,需要安装客户端的同时需要覆盖D:oracleproduct10.2.0db_1NETWORKADMINtnsnames.ora文件。

如果连接不上,可以重启OracleServiceORCL服务。如下图:  

oracle数据库的服务需要开启。

复制代码
1。create or replace view 视图名称。简单视图可以实现DML操作
2. oracle 中没有自增长列,MySQL中有。
3.nvl 相当于mssql里面的isnull。
4.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day() 
5. decode(isautocreate,1,'','');decode(name,'zhangsan','张三','lisi''李四'[,'No Name'])有点类似case when语句。
6.|| 类型mssql里面的 +  连接符。rownum 相当于top 
7 sysdate 相当于mssql里面的getdate();
8.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
9.Mssql中可以select  id,* from tb 而在orcale数据库中select t.*, t.id from tb t;
10.在pl/sql里面insert,delete,update数据时,一定要记住结尾加上commit。
11。create or replace view 视图名称。简单视图可以实现DML操作
12. oracle 中没有自增长列,MySQL中有。
13.nvl 相当于mssql里面的isnull。
14.to_char(sysdate,'yyyy-mm-dd') 相当于mssql里面的convert(getdate(),'yyyy-mm-dd');TO_DATE 相当于Year(),Month(),Day() 
15. decode(isautocreate,1,'','');decode(name,'zhangsan','张三','lisi''李四'[,'No Name'])有点类似case when语句。
16.|| 类型mssql里面的 +  连接符。rownum 相当于top 
17 sysdate 相当于mssql里面的getdate();
18.ORACLE多表关联的update语句。http://www.examda.com/oracle/zhonghe/20100103/094306360.html
19.oraccle数据量insert和delete和update语句的时候,一定要commit;
20.关于group by的问题:(1):不在聚合函数里面的字段,一定要在group by 字句中。select id ,name form a group by id,name(正) select id,name from a group by id(错)
                       (2):在group by里面的字段,不一定要全部出现在字段列表里面,但必须有一个聚合函数。select id,count(*) from a group by id,name(正)
21.Oracle中如何实现某一字段自动增加1?
实现方法:

建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;

当向表中插入数据时,SQL语句写法如下:

SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
22.用户控件找到所在的父窗体。
    //Form frm = this.FindForm();    
    frmF1ReportConfig config = (frmF1ReportConfig)this.FindForm();
23.oracle 数据库中【子查询】表的别名不可以用as,子查询后面的表别名可有可无;sql数据库中的【子查询】必须要出现别名。
   oracle数据库中列的别名双引号可有可无。
          select * from(select sysdate from dual) as "A"(错)
          select * from(select sysdate from dual) as A(错)
          select * from(select sysdate from dual)(正)
          select * from(select sysdate from dual) A (正)
          select sysdate as "时间" from dual(正)
          select sysdate 时间 from dual(正)
          select sysdate as 时间 from dual(正)
24.在pl/sql里面,如果想手动修改一条select查询出来的记录。需要查询rowid列。    seelct t.rowid,t.* from table t;
25. 无法初始化 Oracle 调用界面+ ORACLE 不能正常工作.
解决:对PL/SQL图标右键,属性---兼容性--在以管理员身份进入的地方打勾,再次运行PL/SQL
      
26. having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
原文地址:https://www.cnblogs.com/prvin/p/3328368.html