天天看點

Oracle資料庫自我總結

1.Oracle連接配接遠端伺服器,需要安裝用戶端的同時需要覆寫D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora檔案。

如果連接配接不上,可以重新開機OracleServiceORCL服務。如下圖:  

Oracle資料庫自我總結

oracle資料庫的服務需要開啟。

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.

http://lymygee.blog.163.com/blog/static/292760692010714113923813/