更新oracle資料庫表如何實現主鍵自增長

2021-07-25 02:04:04 字數 1459 閱讀 5093

在資料庫中實現主鍵自動增長有利於我們做資料插入操作,在sql server上建立表時可以在int型別的字段後加上identity(1,1),該字段就會從1開始,按照+1的方式自增,將這個字段設定為主鍵。mysql中可以使用「auto_increment」即可。而oralce實現該效果需要使用序列配合觸發器使用。

下面是乙個具體例項:

1.建立資料庫表:

create table employee

(eid      integer,

name     varchar2(10),

surname  varchar2(10),

gender   varchar2(10),

state    varchar2(10),

birthday date,

hiredate date,

dept     varchar2(10),

sqlary   integer);

2.建立序列:

create sequence eid_autoinc

minvalue 1

maxvalue 9999

start with 57

increment by 1

nocache;

3.建立觸發器:

create or replace trigger employee_eid --觸發器名稱

before insert on employee    --employee是表名

for each row

declare

nextid number;

begin

if :new.eid is null or :new.eid=0 then --eid是列名

select eid_autoinc.nextval --eid_autoinc是剛才建立的序列

into nextid

from dual;

:new.eid:=nextid;

end if;

end employee_eid;

4.插入資料測試:

insert into employee

( name, surname, gender, state, birthday, hiredate, dept, sqlary)

values

( 'm', 'f', 'f', 'qqhe', to_date('1986-08-01','yyyy-mm-dd'), to_date('2010/08/24','yyyy-mm-dd'), 'c-center', '3500');

5.查詢驗證:

select * from employee

Oracle資料庫迴圈更新

oracle資料庫 更新資料時 update test table1 t set t.name 1 where name ergou 單一更新乙個是比較容易理解 實際情況經常需要更新大量資料 例如從表更新到另外的表 嘗試了挺多次,update test table1 t test table2 e ...

oracle資料庫實訓(1)

用的是11g版本 解鎖 alter user scott account unlock 設定密碼 alter user scott identified by tiger 授權 grant dba to scott用scott使用者登入,利用已有的表進行實驗 查詢語句 1.員工的實發工資 nvl x...

(資料庫 MySQL)表 資料更新

如果我們需要修改或更新 mysql 中的資料,我們可以使用 sql update 命令來操作。以下是update 命令修改 mysql 資料表資料的通用 sql 語法 update low priority ignore table name set column name1 expr1,colum...