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...