Oracle 創建主鍵自增表

来源:http://www.cnblogs.com/chenmh/archive/2016/10/17/5970361.html
-Advertisement-
Play Games

介紹 本篇文章主要介紹在oracle中如果創建自增長表,這裡要用到序列。 create table tb_student ( id NUMBER(10) not null, createtime DATE not null, constraint PK_tb_student primary key ...


介紹

 本篇文章主要介紹在oracle中如果創建自增長表,這裡要用到序列。

 

 

create table tb_student
(
   id                 NUMBER(10)           not null,
   createtime         DATE                 not null,
   constraint PK_tb_student primary key (id)
);

comment on table "tb_student" is
'學生';

comment on column "tb_student"."id" is
'主鍵id';

comment on column "tb_student"."createtime" is
'創建時間';


--創建序列
create sequence seq_tb_student
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle   --一直累加,不迴圈
--nocache;  --不緩存
cache 10; --緩存10條

--創建觸發器,如果insert語句不指定ID自動插入增長值
CREATE OR REPLACE TRIGGER tr_tb_student 
BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_student.nextval into:new.id from dual;
end;

 

 註意:觸發器是非必須的,可以從業務上嚴格要求指定插入值。

總結

 註意oracle限制對象名的字元長度不能超過30個字元,所以表名要控制在一定的長度否則後面創建序列可能會超過限制,建議表名控制在27個字元以下。

 

 

備註:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接。

《歡迎交流討論》


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有個經典的題目:1-100之間的數字(不重覆)存放在表裡,共95行一列,但是裡面缺了5個數字,怎麼用SQL最快找出那五個數字。 我們先來看看Oracle資料庫如何實現,如下所示,我們先準備測試環境和數據。 SQL> create table t( id number(10)); Table crea... ...
  • 業務描述: 統計從kafka spout中讀取的數據條數,以及寫入redis的數據的條數,寫入hdfs的數據條數,寫入kafaka的數據條數。並且每過5秒將數據按照json文件的形式寫入日誌。其中保存為json數據的格式為:時間戳 + 進程名稱 + 讀kafka數據條數 + 寫入redis數據條數 ...
  • 1.《Microsoft SQL Server企業級平臺管理實踐》徐海蔚2.《SQL Server 2005 Performance Tuning性能調校》胡百敬3.《Microsoft SQL Server 2005技術內幕:存儲引擎》在國外,不可多得的好書如下4.《Professional SQ ...
  • 1.註冊Oracle賬戶: 註冊地址:https://login.oracle.com/mysso/signon.jsp 註意:註冊的時候儘量使用外國的郵箱,因為使用國內的郵箱可能收不到Oracle發送的信息! 當然你也可以從別的地方下載,只要能用就可以了。 2.下載Oracle Database ...
  • 本文來自:http://www.cnblogs.com/yangxia-test/p/3922775.html 一.下載 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html以下兩網址來源 ...
  • 安裝解壓版MySQL以後,不能啟動,日誌裡面出現了這個錯誤: 這是因為mysql服務啟動時候找不到內置資料庫“mysql”,找不到那張表,將之前的目錄裡面的“mysql”資料庫拷貝到新的資料庫文件存放目錄,即可解決這個問題。 ...
  • 1. 官網下載 wget http://apache.fayea.com/hadoop/common/hadoop-3.0.0-alpha1/hadoop-3.0.0-alpha1.tar.gz 2. 解壓 tar -zxvf hadoop-3.0.0-alpha1.tar.gz ln -s had ...
  • 船停在港灣是很安全的,但那不是造船的目的! 用戶 資料庫常用的指令: 數據表的常用指令 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...