IT EXPLAINED 數位轉型攻略 VII
2025臺灣資安大會 Keynote講者陣容
Cloud Future Built Today
技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
15
0
佛心分享-IT 人自學之術
從零開始的MySQL開發旅程
系列 第
15
篇
Day15專題二 利用觸發器追蹤投票者資料異動(中)
16th鐵人賽
minhsiao
2024-09-02 23:26:59
294 瀏覽
分享至
專題二 加入Before型觸發器(在資料異動前觸發)
目的:防止不符合試務規則的資料被寫入資料表中,來確保投票人沒有過度投票或是圈選出的候選人超過該項所允許的圈選人數
做法:資料表voter、race、candidate需要設定為只有特定人員才可以對內容進行異動,要防止其他使用者對這三個資料表做修改。
BI型觸發器
要防止其他人員對資料表voter、race、candidate插入資料
tr_voter_bi
防止其他使用者插入投票人的資料
檢查使用者名稱是否帶有secretary_of_state,若沒有會用signal陳述式傳送錯誤訊息,並以語法set message_text來顯示我們要表達的句子
tr_race_bi
防止其他使用者插入競選職務的資料
寫法如tr_voter_bi
tr_candidate_bi
防止其他使用者插入候選人的資料
寫法如tr_voter_bi
tr_ballot_cnadidate
防止投票人在同一選票上投給太多人
需要先檢查該競選職務允許選民投給幾個人,在看這張選票和競選職務檢查資料表ballot_cnadidate出現幾列資料,如果超出允許人數就會阻止插入資料表
宣告五個變數v_race_id(保存競選職務ID)、v_votes_allowed(保存可允許投給幾位)、 v_existing_votes(保存選民真實圈選幾個人)、v_race_name(保存競選職務名稱)、v_error_msg(保存要顯示給使用者看的錯誤訊息)
第一個select...into陳述式,取的該候選人參與哪一項競選職務,將資料表race行合併查詢race_id、v_race_name、r.race_allowed_num的值寫入變數
第二個select陳述式,從資料表ballot_cnadidate取的選票來知道選民實際在該張選票投了幾名候選人,將資料表candidate行合併查詢
如果實際投的人數大於允許人數會以命令signal加上sqlstate代碼退出觸發器、防止寫入資料表ballot_cnadidate,並且會顯示錯誤訊息給使用者
BU型觸發器
要防止其他人員對資料表voter、race、candidate更新資料(寫法如tr_voter_bi)
tr_voter_bu
防止其他使用者更新投票人的資料
tr_race_bu
防止其他使用者更新競選職務的資料
tr_candidate_bu
防止其他使用者更新候選人的資料
BD型觸發器
要防止其他人員對資料表voter、race、candidate刪除資料(寫法如tr_voter_bi)
tr_voter_bd
防止其他使用者刪除投票人的資料
tr_race_bd
防止其他使用者刪除競選職務的資料
tr_candidate_bd
防止其他使用者刪除候選人的資料
下一章:專題二利用觸發器追蹤投票者資料異動(下)
留言
追蹤
檢舉
上一篇
Day14 專題二 利用觸發器追蹤投票者資料異動(上)
下一篇
Day16 專題二 利用觸發器追蹤投票者資料異動(下)
系列文
從零開始的MySQL開發旅程
共
30
篇
目錄
RSS系列文
訂閱系列文
1
人訂閱
26
Day26 Firebase Cloud Functions
27
Day27 Firebase Hosting
28
Day28 Hosting 實作練習
29
Day29 Cloud Firestore 實作練習
30
Day30 總結
完整目錄
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22205
篇
完賽人數
600
人
看影片追技術
看更多
【以Cloud Native雲端原生工具打造雲端安全】
安碁資訊|資安防護服務.企業營運夥伴
|
29 分
政府數位應用與轉型契機
2023 數位政府高峰會
|
33 分
Monolithic application 於 AWS OpsWorks+Chef 的 Multi-Region 自動化維運管理實例
Cloud Summit 臺灣雲端大會
|
28 分
TS-855eU: 2U 8-bay短機箱搭載Intel Atom 8核心2.8 GHz處理器,8GB RAM、雙2.5GbE、雙M.2 NVMe SSD、PCIe Gen 3可擴充25GbE高速網路
QNAP Systems, Inc.
|
26 分
AI 賦能資安:揭密 Microsoft Security Copilot 如何助力資安防護
IT EXPLAINED
|
37 分
國泰中台微服務供應鏈的挑戰
Cloud Summit 臺灣雲端大會
|
27 分
Machine Learning DDoS 攻擊緩解
臺灣資安大會
|
31 分
掌握AI在資安領域中的應用:解析Microsoft Security的資安防禦方案
IT EXPLAINED
|
33 分
掌握平台服務 ,擁有完美資料保護
Kubernetes Summit
|
29 分
淺淡 Elasticsearch 的運作原理
iThome鐵人賽
|
35 分
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
所為何來??
請問台灣有什麼知名開源 GitHub 或 Google 專案、作者嗎?
關於AP分享器的設定
鼎新EasyFlow.NET 維護合約
Outlook Classic轉換Outlook (new) 沒有顏色分類、不能沿用設定檔案
[分享] Cygwin 編譯 Windows 版 nginx 支援正向代理 https 協定
Excel 無徵兆無回應
請問是否有方法不使用 Layout 實現 QScrollArea 呢
請問要如何關掉 Microsoft Teams 與 OneDrive 的關連?
python的rasa對話機器人框架 無法傳送訊息給LINE Bot
全新登場!CYBERSEC ARENA:War Game遊戲中體驗資安威脅應對,提升戰略思維與決策力!
GenAI 加速企業創新落地,更需要全新 IT 戰略
DevOpsDays Taipei 2025 論壇議程搶先看!帶您掌握最新技術趨勢、提升實戰技能
Windows 10支援倒數,聯繫微軟夥伴諮詢
【免費線上報名即將額滿】4/8 18:00 截止,現場報名將收費,錯過不再免費!
立即標記行事曆,7/2 探索 AI 與雲端的無限未來!
熱門回答
Outlook Classic轉換Outlook (new) 沒有顏色分類、不能沿用設定檔案
Excel 無徵兆無回應
所為何來??
請問台灣有什麼知名開源 GitHub 或 Google 專案、作者嗎?
關於AP分享器的設定
熱門文章
[超實用教學]教你4個一鍵下載YouTube音樂的技巧
【SEO 是什麼?】帶你全面認識搜尋引擎優化的核心價值與操作原則
所以,Git 是 ? | 再談 Git
Boyer-Moore字串搜尋演算法
Python 入門筆記 - 10 - 輸出 Output
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}