1.Oracle連接配接遠端伺服器,需要安裝用戶端的同時需要覆寫D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora檔案。
如果連接配接不上,可以重新開機OracleServiceORCL服務。如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcucTY3EGZxUTZjJWYkVmM1M2M0QDNmljM1EDZ0MTY4QGZfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
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/