Oracle學習

1、最近由於項目需要,又開始學習Oracle,本以爲他和其他數據沒什麼區別,但一開始慘痛的經歷告訴我,還是要認真對待他的。。

錯誤1:登陸https://localhost:1158/em 之後,看到數據庫實例都是關閉的.啓動不了.

辦法:進入Net Configuration Assistant把當前的監聽程序刪除重新配置下就好了,然後在服務中把監聽程序啓動起來。

 

錯誤2:Oracle中的自增字段沒有SQL Server或者Mysql中那麼簡單,需要設置序列和觸發器什麼的。但是又遇到ORA-04089: 無法對 SYS 所有的對象創建觸發器

辦法:system如果正常登錄,它其實就是一個普通的dba用戶,但是如果以as sysdba登錄,其結果實際上它是作爲sys用戶登錄的,這一點類似Linux裏面的sudo的感覺,從登錄信息裏面我們可以看出來。因此在as sysdba連接數據庫後,創建的對象實際上都是生成在sys中的。其他用戶也是一樣,如果 as sysdba登錄,也是作爲sys用戶登錄的。

自增字段設置方法:

create table UserInfo
(
       UserID int primary key not null,
       UserName varchar(20) not null,
       Power int not null
);
create sequence UserSequence //創建序列
increment by 1 
start with 1 
nomaxvalue 
nocycle;
create trigger UserSequence before insert on UserInfo for each row  //創建觸發器
begin
select UserSequence.nextval into:New.UserID from dual;
end;
insert into UserInfo(UserName,Power) values('123',1);//插入數據。




發佈了33 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章