在填報表中如何正確使用自動增長的字段

2021-08-26 04:00:04 字數 1431 閱讀 7686

在多使用者併發進行填報的時候,總會遇到乙個發生率很高的問題,就是主鍵的重複。主鍵重複造成的結果是前乙個使用者的填報內容,被另乙個使用者給覆蓋掉了,造成了資料丟失。

這個問題如果由程式設計人員來解決,那將會是一件非常麻煩的事情。但是如果交由資料庫去處理,就變得簡單多了,因為不管多少個使用者,對資料庫來說只是乙個更新資料庫的命令佇列,資料庫本身會對主鍵的問題進行判斷。這也就是大多數資料庫提供的字段自動增長功能的原因。

而集智資料平台

的報表系統裡面也支援了這種自動增長欄位的方式,如下圖:

由此可見,在報表端設定起來是非常簡單的。

下面介紹一下針對三種常用的資料庫,自動增長欄位的設定方法:

1、mysql

在建表的時候,在主鍵字段後面加上auto_increment即可,例如:

create table auto_key_table (

id int primary key auto_increment,

data varchar(255)

);

2、sqlserver

sqlserver相對麻煩一些,需要在企業管理器裡面配置,如下圖:

3、oracle

這個是最麻煩的,因為oracle提供的自動增長方式與前兩個不同。在oracle裡面提供了序列物件,由該序列提供乙個唯一值,但是我們每次插入資料的時候,需要在sql中呼叫這個序列才可以。

但是oracle也同時提供了觸發器的功能,可以在插入資料前自動呼叫觸發器,從而實現我們的目的。完整的**如下:

– 建立演示表

create table auto_key_table(」id」 int primary key,」data」 varchar(255));

– 建立乙個序列

create sequence auto_key_seq;

– 建立觸發器

create trigger bifer_auto_key_table

before insert on auto_key_table

referencing

old as old_value

new as new_value

for each row

begin

select auto_key_seq.nextval into :new_value.id from dual;

end;

上面的操作完成後,我們可以通過以下sql測試一下:

insert into auto_key_table(data) values(』test』);

可以看到,在未指定主鍵值的情況下,資料庫會自動幫我們生成主鍵,保證了資料的唯一性。

資料抽取,讓業務使用者隨時可以自己定義查詢報表。

AJAX校驗在潤幹填報表中的使用

ajax的好處就是非同步進行互動,讓我們感覺頁面並沒有其他的動作 重新整理 讓我們感覺頁面做的更友好了,互動性更能跟上現在的web應用。利用ajax進行校驗能夠在不重新整理頁面的情況下完成和伺服器端的互動,並根據資料的處理結果按你想要的方式對頁面作出即時更改。潤幹的填報表校驗功能,可以在使用者填報資...

如何在潤幹報表中製作分組填報表

同樣地,我們以 demo 示例庫中的雇員表資訊維護為例,在資料填報頁面,需要實現以下效果 1 雇員資訊按照地區分組顯示 2 雇員基本資訊可進行修改 效果圖如下圖所示 在製作分組填報表之前,我們先來看一下它的設計原理。原理說明 分組填報表中有兩個維度 分組維度和明細維度,如何處理兩者之間的邏輯關係是重...

AJAX校驗在潤幹V4填報表中的使用

ajax的好處就是非同步進行互動,讓我們感覺頁面並沒有其他的動作 重新整理 讓我們感覺頁面做的更友好了,互動性更能跟上現在的web應用。利用ajax進行校驗能夠在不重新整理頁面的情況下完成和伺服器端的互動,並根據資料的處理結果按你想要的方式對頁面作出即時更改。潤幹的填報表校驗功能,可以在使用者填報資...