Oracle中的序列,同義詞

2021-04-16 20:33:19 字數 2159 閱讀 3956

oracle中的序列,同義詞

2023年08月18日 星期五 下午 01:51

什麼叫序列:

1:定義:

僅向前的數字變數(和sql中的自動編號有點像 identity(1,2)  )

2:如何定義乙個序列

格式:create sequence 《序列名稱》

start with 《起始數》

increment by 《增長量》

[maxvalue  值]

[minvalue  值]

[cycle 當到達最大值的時候,將繼續從頭開始]

example:    

create sequence myseq

start with 1

increment by 2

maxvalue 40

minvalue 1

cycle

3:怎麼去取序列資料:

currval--->curenvalue

nextval-->nextvlaue

example:

select myseq.nextval from dual

注意一點:currval只有當nextval執行一次以後才可以用.

在建立表的時候,可以使用序列.

具體例子:

create table 學生基本資訊表

(stuid int,

stuname varchar2(20)

)insert into 學生基本資訊表 values(myseq.nextval,'aa')

4:如何修改序列:

alter sequence myseq maxvalue 500

注意:不能改start with,其他隨便改(設定minvalue值的時候不能大於當前值)

5:如何檢視某個表空間所有序列:

select * from user_sequences

6:如何刪除:

drop sequence 序列名稱

同義詞:

就是給oracle物件取乙個別名,並做為資料庫物件永久儲存在oracle資料庫.

特別注意一點:同義詞一但建立,就不能修改   只能刪除

1:分類:

私有同義詞:普通使用者(scott)建立,並且只有該使用者可以用.

公有同義詞:由dba。system。sys建立.任何使用者都可以訪問同義詞

2:特點:

代表oracle物件的全部.不能代表乙個物件的某一部分.但是檢視卻可以代表物件的一部分.

對同義詞進行資料操作,將影響到某乙個跟同義詞關聯的物件

對某乙個具體的oracle物件進行資料操作的時候,將影響到與他關聯的同義詞。   

表一但重新命名   同義詞不會改變  還是在資料庫存在的.

表一但刪除     同義詞也還在   但同義詞資料卻不在

3:建立同義詞的格式:

create [public] synonym 同義詞名稱 for oracle某乙個具體物件  

4:檢視所有的同義詞:

select * from user_synonyms

5:如何刪除同義詞:

drop synonym 同義詞名稱

自己寫的乙個例子

我在使用者aa中建乙個同義詞:  

create   synonym   "aa"."mytongyi"    

for   "aa"."aatest_1"  

其中   aatest_1   是乙個資料庫表。  

然後有使用者bb   :  

執行下列語句:  

grant   select   on       mytongyi   to   bb;  

commit;  

那麼用bb登入執行下列語句:  

select   *   from   aa.mytongyi  

檢視與同義詞的區別:

a:同義詞是實實在在的 而檢視是虛的

b:同義詞是代表物件的全部    不能代表一部分   而檢視既可以是全部  也可以是一部分

c:同義詞一但建立不能修改     檢視卻可以修改

d:同義詞只能代表乙個物件  ,而檢視可以關聯多個

oracle中建立序列,同義詞

一.建立序列 1.序列 是oacle提供的用於產生一系列唯一數字的資料庫物件。自動提供唯一的數值 共享物件 主要用於提供主鍵值 將序列值裝入記憶體可以提高訪問效率 2.建立序列的語法 create sequence seq demo 序列名 minvalue 1 最小值 maxvalue 99999...

oracle索引 序列 同義詞

索引 序列 同意詞 建立 維護和使用序列 提供有規律的數值 1.建立序列 create sequence dept deptid seq 每次增長的數值 increment by n increment by 10 從哪個值開始 start with n start with 120 最小值 min...

oracle 序列與同義詞

建立序列需要許可權 create sequence 授權過程 建立序列的語法 create sequence 序列名 increment by n increment by n 設定序列的間隔長度 例如 預設情況下,不設定間隔長度預設為一 其他引數 start with 定義序列的起始值 maxva...