欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:Oracle數(shù)據(jù)表ID自增操作

柚子快報(bào)激活碼778899分享:Oracle數(shù)據(jù)表ID自增操作

http://yzkb.51969.com/

一、Oracle ID自增長(zhǎng)功能介紹

?????? Oracle數(shù)據(jù)庫(kù)默認(rèn)不支持像 SQLServer、MySQL中的自增長(zhǎng)(auto increment)功能,即自動(dòng)為每一行記錄的自增長(zhǎng)字段生成下一個(gè)值。

二、Oracle ID自增長(zhǎng)方法

第一種,通過(guò)序列(sequence)以及觸發(fā)器(trigger)實(shí)現(xiàn)主鍵自增長(zhǎng)。

?????? 序列是Oracle數(shù)據(jù)庫(kù)中用來(lái)生成唯一數(shù)值的對(duì)象,可以類比于MySQL中的自增長(zhǎng)。使用序列遞增生成的數(shù)字當(dāng)作主鍵時(shí),防止并發(fā)訪問(wèn)時(shí)產(chǎn)生重復(fù)的主鍵值。

?????? 觸發(fā)器可以在INSERT、UPDATE和DELETE操作執(zhí)行之前或之后自動(dòng)運(yùn)行PL/SQL代碼。對(duì)于使用序列生成自增長(zhǎng)主鍵的情況,可以通過(guò)在插入語(yǔ)句之前定義一個(gè)觸發(fā)器,在INSERT語(yǔ)句執(zhí)行時(shí)觸發(fā)自動(dòng)生成下一個(gè)序列值。

??????? 這種方式適用于直接使用JDBC連接數(shù)據(jù)庫(kù)。這種方式將主鍵自增長(zhǎng)的任務(wù)完全交給數(shù)據(jù)庫(kù),我們無(wú)需在代碼層面上進(jìn)行任何控制。

第二種,通過(guò)序列(sequence)以及Hibernate(JavaWeb框架)配置實(shí)現(xiàn)自增長(zhǎng)。

??????? 這種方式適用于通過(guò)Hibernate連接數(shù)據(jù)庫(kù)的方式。這種方式在數(shù)據(jù)庫(kù)上創(chuàng)建序列,通過(guò)配置在POJO類上的注釋,讓Hibernate去調(diào)用數(shù)據(jù)庫(kù)的序列實(shí)現(xiàn)自增長(zhǎng)。

??????? 這兩種方式都是通過(guò)Oracle的序列實(shí)現(xiàn)自增長(zhǎng),但第一種通過(guò)數(shù)據(jù)庫(kù)的觸發(fā)器在插入的時(shí)候自動(dòng)插入主鍵。而后者則由Hibernate自動(dòng)完成獲取主鍵,插入主鍵這一操作。

三、Navicat創(chuàng)建--序列和觸發(fā)器

序列和觸發(fā)器的位置在【其他】選項(xiàng)里面。

3.1、創(chuàng)建表:保存時(shí)命名? T_STU

示例字段只需要一個(gè)id,一個(gè)name即可

?3.2、序列-創(chuàng)建序列:保存時(shí)命名 Seq001

?3.3、觸發(fā)器-創(chuàng)建觸發(fā)器:保存時(shí)命名?? Trigger001

常規(guī)選項(xiàng)卡中:觸發(fā)器類型選【TABLE】,表模式選【ROOT】,表明選擇【T_STU】

高級(jí)選項(xiàng)卡中選填:引用舊【OLD】,引用新的【NEW】

?定義選項(xiàng)卡中:需要將序列Seq001的序號(hào)查出來(lái)并放入T_STU表的id中。

BEGIN

select "Seq001".nextval into :NEW."id" from dual;

END;

3.4、最后看一下預(yù)覽SQL

其中"Untitled"是未保存的默認(rèn)觸發(fā)器名。

3.5、最后一步插入數(shù)據(jù)觀察遞增情況

四、SQL語(yǔ)句創(chuàng)建--序列和觸發(fā)器

-- 創(chuàng)建表

CREATE TABLE "T_STU" (

"id" NUMBER NOT NULL PRIMARY KEY,

"name" VARCHAR2(255)

);

-- 創(chuàng)建序列

CREATE SEQUENCE "Seq01" MINVALUE 1 INCREMENT BY 1 NoMaxValue START WITH 1;

-- 創(chuàng)建觸發(fā)器

create TRIGGER "Trigger01" BEFORE INSERT ON "T_STU"

FOR EACH ROW

BEGIN

SELECT "Seq01".nextval INTO :NEW."id" FROM dual;

END;

-- 插入數(shù)據(jù)

INSERT INTO "T_STU" ("name") VALUES ('小紅');

-- 查看結(jié)果

SELECT * FROM "T_STU";

?

參考:Oracle ID自增長(zhǎng)詳解_筆記大全_設(shè)計(jì)學(xué)院

Oracle實(shí)現(xiàn)主鍵自增長(zhǎng)的幾種方式-騰訊云開發(fā)者社區(qū)-騰訊云

Oracle數(shù)據(jù)表ID自增操作_oracle自增id怎么設(shè)置-CSDN博客

柚子快報(bào)激活碼778899分享:Oracle數(shù)據(jù)表ID自增操作

http://yzkb.51969.com/

好文閱讀

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18824996.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄