背景資訊
系統管理員授予使用者開發規範操作許可權後,使用者可以在安全規範的環境中管理 SQL 檢查規範。
使用者在 SQL 視窗/建立資料庫變更/建立表情境下執行 SQL 陳述式時,ODC 會根據配置的 SQL 檢查規範檢測 SQL 陳述式。
本篇文檔旨在介紹如何編輯和執行 SQL 檢查規範。
概念介紹
規則層級:是指某個 SQL-Check 規則的等級。規則層級劃分為以下 3 類:
符合規範:即命中該條規則的 SQL 是符合規範的,不需要任何改進。
建議改進:即命中該條規則的 SQL 存在問題,但是問題不太嚴重,可以改進,也可以不改進,通常只會給使用者一個提示。
必須改進:即命中該條規則的 SQL 存在嚴重問題,不改進直接執行的話會影響到資料 or 業務安全,必須改進後才能執行。
規則狀態:該狀態用於指示某條 SQL-Check 規則的啟用狀態,如果啟用則會使這條規則在使用者發起工單或者執行 SQL 時進行檢測,如果禁用則等效於不存在這條規則。
規則類型:指示該規則應用的資料庫物件類型,從目前的實現來看可以分為以下幾類:
TABLE:表明該條規則是作用於表對象上的。
SELECT:表明該條規則是作用於查詢語句上的。
INSERT:表明該條規則是作用於插入語句上的。
UPDATE:表明該條規則是作用於更新語句上的。
DELETE:表明該條規則是作用於刪除語句上的。
DDL:表明該條規則是針對 DDL 進行檢測的。
DML:表明該條規則是針對於 DML 進行檢測的。
DQL:表明該條規則是針對於 DQL 進行檢測的。
INDEX:表明該條規則是針對於 INDEX 建立語句進行檢測。
執行流程

擁有開發規範操作許可權的使用者在環境中編輯和啟用 SQL 檢查規範。
ODC 使用者在命令列視窗、匿名塊視窗、資料庫變更中執行 SQL 陳述式時,則會發起 SQL 規範檢查。
符合 SQL 規範則會執行 SQL 陳述式,否則攔截 SQL 陳述式。
前提條件
擁有開發規範操作許可權的使用者。
操作步驟
樣本:在 SQL 檢查規範的測試環境中編輯並啟用規則列必須注釋後,編輯和執行 CREATE TABLE SQL 陳述式並會進行 SQL 規範檢查。
資訊項 | 樣本值 |
專案名稱 | odc_4.2.0 |
資料來源 | mysql_4.2.0 |
資料庫名稱 | odc_test |
表名稱 | employee |
登入 Web 版 ODC 後,在專案協同視窗中單擊 安全規範 > 環境 > 測試 > SQL 檢查規範。

如上圖所示,在 SQL 檢查規範頁簽中,編輯 規則名稱 列要有注釋。
單擊 提交,完成修改該規範。

在 SQL 檢查規範頁簽中,啟用 列要有注釋。

在專案協同視窗中單擊 專案 > 全部專案 > odc_4.2.0。

單擊資料庫,登入該資料庫並進入 SQL 開發視窗。

在 SQL 視窗中,編輯 SQL 陳述式以建立表
employee,並單擊 運行 F8 運行當前 SQL 視窗中所有的 SQL 陳述式。
CREATE TABLE `odc_test`.`employee` ( `emp_no` int(120) NULL, `birthday` date NULL, `name` varchar(120) NULL ) DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci ;如上圖所示,日誌中會提示 沒有列注釋。