行式填報之主鍵設定
填報功能是報表工具不可或缺的功能之一,此功能可以讓使用者在頁面中進行資料維護操作。特別是在行式填報中,使用者不僅可以修改資料,而且可以插入 / 新增新資料或刪除已有資料。這樣,在更新行式填報頁面中的資料記錄時,主鍵欄位就會涉及 insert 和 delete 操作,而對於不同型別的主鍵我們應該如何進行更新設定?有哪些方面是需要我們注意的呢?下面我們將以僱員資訊表的維護為例探討一下主鍵設定的相關內容。
附 Employee 表結構:
先準備一張行式填報表,製作效果如下圖所示:
(行式填報表快速製作教程參見 )
來源指令碼設定:
重點來啦 ~~ 去向指令碼中不同的主鍵型別應該如何配置呢?我們來逐個攻破:
1. 單主鍵
Employee 表的主鍵為 empno,那麼指令碼中的 update 函式配置為:
A1.update@k(employee:employee_old,employee,empno,ename,salary,sex;empno)
在英文分號後面配置主鍵 empno,報表在做更新處理時,會以 empno 為主鍵對比 employee 和 employee_old 物件的資料,然後將差異資料更新到表 employee 中。
完整版指令碼內容如下圖所示:
2. 多主鍵
一般情況下,物理表只設定一個主鍵欄位就可以將資料記錄區分開來,特殊情況下會設定兩個及以上主鍵欄位,例如上述 employee 表我們可以透過 empno 欄位來區分資料記錄,也可以透過 ename+sex 兩個欄位來鎖定唯一一條符合條件的記錄,此時我們的指令碼中應該如何設定主鍵呢?
很簡單,只需要用英文逗號隔開多個主鍵欄位就可以了:
A1.update@k(employee:employee_old,employee,empno,ename,salary,sex;ename,sex)
完整版指令碼內容如下圖所示:
3. 自增主鍵
自增主鍵可以提升查詢效率、節省磁碟空間,在填報中也有廣泛應用。以 mysql 設定為例:可以透過第三方工具(如 Navicat)或者 sql 語句設定某個主鍵欄位的資料自動增長。
在資料庫端很容易配置主鍵欄位的自動增長,那麼在潤乾報表中如何實現自動增長欄位的資料更新呢?很簡單,只需要新增一個 @1 選項就搞定了。
A1.update@1k(employee:employee_old,employee,empno,ename,salary,sex;empno)
其中,@1 選項表示第一個欄位是自增欄位,沒有對應更新值表示式
注意:這裡是數字 1 而不是字母 l
完整版指令碼內容如下圖所示:
4. “動態”主鍵
“動態”主鍵我們理解成通常說的 UUID,表示主鍵的值是一個不重複的隨機數,這種方式比自動增長方式更安全、重複率更低。
我們以 mysql 資料庫為例,將隨機生成的四位數字作為主鍵 empno 的資料,並將資料更新入庫。在潤乾報表中只需要多一步 run 操作給主鍵欄位賦值,剩下的和常規更新配置一樣。
=employee.run(if(empno==null,~.empno=A1.query(“select round(round(rand(),4)*10000) as xuhao”).xuhao)) // 當 employee 物件中的主鍵 empno 欄位為空的時候,我們將隨機生成的四位數字賦值給主鍵欄位
(這裡為什麼條件是判斷為空呢?因為一般自增主鍵或者 UUID 主鍵都不允許編輯或者直接設定使用者不可見,所以此時新增的記錄中主鍵欄位為空。)
完整版指令碼內容如下圖所示:
至此,我們已經將幾種常見主鍵設定方式探討完畢,現在回過頭來看填報資料處理中的主鍵設定,是不是有種“wow~~amazing~”的感覺?
如果您在填報學習過程中有任何疑問,歡迎留言,我們一起來盤它!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2669212/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 填報流水號,預設表示式設定
- 行式填報 資料校驗 --- 小計校驗
- 資料表設計之主鍵自增、UUID或聯合主鍵UI
- Word中的樣式設定快捷鍵
- Word設定樣式快捷鍵(轉載)
- 怎樣實現填報表定時提交
- 如何在瀏覽器上新增一鍵式填寫瀏覽器
- vim設定一鍵執行python程式碼Python
- Excel都搞不定的多人填報,它能!還支援線上填報!Excel
- 皕傑報表之填報操作
- linux設定埠轉發(一鍵設定)Linux
- nodemcu arduino設定按鍵UI
- PL/SQL快捷鍵設定SQL
- win10鍵盤按鍵速度在哪裡設定_win10鍵盤按鍵速度如何設定Win10
- 填報 - 分片問題分析
- cad點樣式快捷鍵命令大全 cad點樣式怎麼設定
- 自定義滑鼠設定-中鍵設定為後退
- PostgreSQL如何設定主鍵序列?SQL
- IDEA 快捷鍵的設定Idea
- ORACLE設定遞增主鍵Oracle
- 設定全域性快捷鍵 (轉)
- 填報表能不能像 word 那樣定時自動儲存?
- 2024志願填報
- CSS 設定元素第一行文字樣式CSS
- win10快捷鍵設定在哪裡設定 win10快捷鍵設定怎麼開啟Win10
- java定時框架:表示式設定Java框架
- 巧用標誌欄位實現填報資料的暫存與鎖定
- Eclipse常用設定及快捷鍵Eclipse
- 還在為多人填報資料而頭疼?這個工具吊打EXCEL,線上可填報Excel
- 業務填報資料及時入庫
- 如何實現掃碼填報資訊
- 填報表之資料留痕
- win10 qq快捷鍵怎麼設定_如何給win10的qq設定快捷鍵Win10
- win10鍵盤在哪裡設定_win10設定鍵盤的方法相關教程Win10
- 分散式監控系統Zabbix-3.0.3--簡訊報警設定分散式
- 設定CURRENT_SCHEMA後獲取執行計劃報錯
- CSS 設定 <progress>樣式CSS
- CSS 設定列表樣式CSS