国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

oracle數(shù)據(jù)庫PL/SQL序列(組圖)

2024-08-29 13:37:42
字體:
供稿:網(wǎng)友

  序列是Oracle 9i提供的用于按照設(shè)定的規(guī)則自動產(chǎn)生數(shù)據(jù)的方案對象。在某些數(shù)據(jù)表的結(jié)構(gòu)中,有些字段需要這種特性。比如,對于某個學(xué)生數(shù)據(jù)表的學(xué)號要害字段,用戶可以希望在錄入數(shù)據(jù)時,能夠自動在上一個記錄的學(xué)號字段上自動加1等。由于Oracle 9i提供的16種基本數(shù)據(jù)類型并沒有這樣的功能,可以通過序列方案對象來實現(xiàn)。
  
  序列的創(chuàng)建
  
  下面介紹在【企業(yè)治理器】中如何創(chuàng)建序列。
  (1)在【企業(yè)治理器】中選擇【myoracle.mynet】/【方案】/【序列】選項,單擊鼠標右鍵,在出現(xiàn)的快捷菜單里選擇【創(chuàng)建】選項,如圖9.48所示。
  
 oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖一)

  (2)出現(xiàn)如圖9.49所示的創(chuàng)建序列的【一般信息】選項卡。
  
  在【名稱】文本框里輸入待定義的序列的名稱“TEMPSEQUENCE”。
  
  在【方案】下拉列表框里選擇序列所屬的用戶名“SCOTT”。
  
  序列【類型】參數(shù)有兩個選項。若選擇【升序】單選鈕,則表示將創(chuàng)建從初始值向最大值遞增的序列,這是創(chuàng)建序列時的默認設(shè)置;若選擇【降序】單選鈕,則表示將創(chuàng)建從初始值向最小值遞減的序列。
  
  對【值】可以進行設(shè)置的參數(shù)如下。
  
  在【最小值】文本框里設(shè)置序列答應(yīng)的最小值。創(chuàng)建序列時該字段最初為空。假如單擊【創(chuàng)建】按鈕時該字段為空,則對升序序列使用默認值 1,而對降序序列使用默認值 -1026。
  
  在【最大值】文本框里設(shè)置序列答應(yīng)的最大值。創(chuàng)建序列時該字段最初為空。假如單擊【創(chuàng)建】按鈕后該字段為空,則將對升序序列使用默認值 1027,而對降序序列使用默認值-1。
  
  在【時間間隔】文本框里設(shè)置遞增序列遞增的間隔數(shù)值(升序序列)或遞減序列遞減的間隔數(shù)值(降序序列)。創(chuàng)建序列時該字段最初為空,假如單擊【創(chuàng)建】按鈕后該字段為空,將使用默認值1,該字段只能為正整數(shù)。
  
  在【初始值】文本框里設(shè)置序列的起始值。假如單擊【創(chuàng)建】按鈕后該字段為空,對升序序列將使用該序列默認的最小值,對降序序列將使用該序列默認的最大值。
  
  對【選項】可以設(shè)置的參數(shù)如下。
  
  若選擇【循環(huán)值】復(fù)選框,則表示指定在達到序列最小值或最大值之后,序列應(yīng)繼續(xù)生成值。對升序序列來說,在達到最大值后將生成最小值。對降序序列來說,在達到最小值后將生成最大值。假如未選擇該復(fù)選框,序列將在達到最小值或最大值后停止生成任何值。默認情況下是未選擇狀態(tài)。
  
  若選擇【排序值】復(fù)選框,則指定序列號要按請求次序生成,默認情況下是未選擇狀態(tài)。
  
  在【高速緩存】中設(shè)置由數(shù)據(jù)庫預(yù)分配并存儲的值的數(shù)目參數(shù)。若選擇【默認值】單選鈕,則表示將設(shè)置默認值為 20,默認情況下選擇此選項;若選擇【無高速緩存】單選鈕,則表示指定不預(yù)分配序列值;若選擇【大小】單選鈕,則表示在文本框里輸入可接受的值,最小值為2,對循環(huán)序列來說,該值必須小于循環(huán)中值的個數(shù)。假如序列能夠生成的值數(shù)的上限小于高速緩存大小,則高速緩存大小將自動改換為該上限數(shù)。
  
  完成設(shè)置后單擊【創(chuàng)建】按鈕。
  
  (3)成功創(chuàng)建序列后,出現(xiàn)如圖9.50所示界面。單擊“確定”按鈕。
  
 oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖二)

  (3)讀者也可以在【SQLPlus Worksheet】中執(zhí)行下列SQL程序創(chuàng)建序列。
  ―――――――――――――――――――――――――――――――――――――
  CREATE SEQUENCE "SCOTT"."TEMPSEQUENCE"
  INCREMENT BY 1 START WITH 1
  MAXVALUE 1.0E28 MINVALUE 1
  NOCYCLE CACHE 20 NOORDER
  ―――――――――――――――――――――――――――――――――――――
  【配套程序位置】:第9章/ createsequence.sql。
  
  序列的使用
  
  下面介紹在向數(shù)據(jù)表中插入數(shù)據(jù)時如何使用序列。
  
  (1)首先為實例建立一個數(shù)據(jù)表“SCOTT.SEQUENCE_TABLE”,為簡化起見,該數(shù)據(jù)表僅包含一個類型為“NUMBER”的數(shù)據(jù)列“NO”。
  
  在如圖9.51所示的創(chuàng)建表的【一般信息】選項卡中進行如下設(shè)置。
  
  在【名稱】文本框中輸入“SEQUENCE_TABLE”。
  
  在【方案】下拉列表框中選擇“SCOTT”。
  
  在【表空間】下拉列表框中選擇“USERS”。
  
  在【名稱】單元格中輸入“NO”,在【數(shù)據(jù)類型】下拉列表框單元格中選擇“NUMBER”。
  
  完成設(shè)置后單擊【創(chuàng)建】按鈕。
  
 oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖三)

  (2)讀者也可以在【SQLPlus Worksheet】中執(zhí)行下列SQL代碼創(chuàng)建數(shù)據(jù)表“SCOTT.SEQUENCE_TABLE”。

  ―――――――――――――――――――――――――――――――――――――
  CREATE TABLE "SCOTT"."SEQUENCE_TABLE" ("NO" NUMBER(10) NOT NULL)
  TABLESPACE "USERS"
  ―――――――――――――――――――――――――――――――――――――
  【配套程序位置】:第9章/ createsequencetable.sql。
  
  (3)在插入新的記錄時,使用剛創(chuàng)建的“TEMPSEQUENCE”序列來自動產(chǎn)生“NO”數(shù)據(jù)列的值。在【SQLPlus Worksheet】里執(zhí)行下面的SQL代碼,執(zhí)行的結(jié)果如圖9.52所示。
  ―――――――――――――――――――――――――――――――――――――
  INSERT INTO SCOTT.SEQUENCE_TABLE(NO)
  VALUES(SCOTT.TEMPSEQUENCE.NEXTVAL);
  ―――――――――――――――――――――――――――――――――――――
  【配套程序位置】:第9章/ insertsequencetable.sql。
  
  “SCOTT.TEMPSEQUENCE.NEXTVAL”表分配下一個惟一的、可用的序列號。
  執(zhí)行“SCOTT.TEMPSEQUENCE.NEXTVAL”后,可以使用“SCOTT.TEMPSEQUENCE. CURRVAL”來標識上一個已經(jīng)存儲的序列值。
  (4)在【SQLPlus Worksheet】中可以執(zhí)行查詢數(shù)據(jù)表“SCOTT.SEQUENCE_TABLE”數(shù)據(jù)的語句。執(zhí)行結(jié)果如圖9.53所示,表明序列“SCOTT.SEQUENCE”產(chǎn)生的值已經(jīng)成功錄入數(shù)據(jù)表中。
  ―――――――――――――――――――――――――――――――――――――
  select * from scott.sequence_table;
  ―――――――――――――――――――――――――――――――――――――
  【配套程序位置】:第9章/ selectsequencetable.sql。
  
 oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖四)
點擊查看大圖

  序列的刪除
  
  下面介紹在【企業(yè)治理器】中如何刪除序列。
  
  (1)在創(chuàng)建好的序列“SEQUENCE1”上用單擊鼠標右鍵,在出現(xiàn)的快捷菜單里選擇【移去】選項,如圖9.54所示。
  
 oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖五)

  (2)出現(xiàn)如圖9.55所示的【刪除序列確認】界面,單擊【是】按鈕。
  
oracle數(shù)據(jù)庫PL/SQL序列(組圖)(圖六)


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 伊春市| 三原县| 大姚县| 贺兰县| 循化| 洛宁县| 龙里县| 应用必备| 武乡县| 台中市| 交口县| 克东县| 郧西县| 东阳市| 南开区| 乐清市| 尼勒克县| 临泽县| 绍兴市| 连山| 安阳县| 舞阳县| 富宁县| 嘉义县| 秦皇岛市| 太仓市| 抚宁县| 宁德市| 丹巴县| 资兴市| 禹州市| 淮南市| 礼泉县| 呼和浩特市| 定州市| 越西县| 财经| 河南省| 郴州市| 金华市| 凤山市|