BESTNET TECH BLOG
「不交付任何一行實際資料」的 Claude Code 實踐記 ― 統制 3 原則與在遷移目標實機上的運作驗證
「想讓 AI 協助 DB 遷移。但基於統制要求,無法把實際資料交給外部的 AI」——企業在運用 AI 時最先停下腳步的,往往不是技術,而是這條界線吧。
本文報告的是一項實踐:把互不相容的異質 DB 之間的遷移(Oracle 19c→SQL Server 2022)前處理,在完全不向 AI 編碼代理(Claude Code)交付實際資料的情況下完成。所謂前處理,是指相容性風險的盤點、結構描述轉換的設計,以及在遷移目標實機上的運作驗證。交給 AI 的「資料」僅有 DDL(資料表定義等結構描述定義語句)、錯誤紀錄與執行結果中繼資料,完全不含列資料、個人資訊。驗證資料全部為合成(虛擬)資料。此外,連往驗證環境的遠端連線資訊,採在人類統制下暫時提供、並於作業後輪替(失效)的運作方式。
先把結論說在前頭:在維持此一限制的前提下,達成了向遷移目標實機套用的 29 個批次、0 件錯誤,並一路證明了驗證用結構描述中所納入的所有 Oracle 固有功能轉換(SEQUENCE 採番、PL/SQL 程序、CONNECT BY 階層查詢、ROWNUM 分頁、具體化檢視表替代、Unicode 處理)的運作。進行方式並非全自動,而是在要害處設置人類承認關卡的半自動。而且在此過程中,還發生了 AI 的安全護欄兩次攔下危險操作這件就治理觀點而言深具啟發的事。
1. DB 遷移會先在「統制」與「人」上卡住,而非「技術」 #
從 Oracle 資料庫的遷移(所謂「脫 Oracle」,以及縮小對象的「減 Oracle」),是許多企業反覆檢討的課題。依 2026 年 6 月時點的公開資訊,Oracle Database 19c 的 Premier Support 至 2029 年底、Extended Support 至 2032 年底([1])。乍看之下似乎有了寬限,但延長期間內的提供內容可能附帶條件或除外事項,因此需依自家合約確認。毋寧說,「被期限追著跑的趕工式遷移會讓計畫變得草率」正是過去的教訓,趁有時間時把遷移的固定成本(前處理成本)壓低,才更有價值。
另一方面,遷移專案推不動的原因大致可歸納為 3 個。
- 相容性的不確定性 — 哪裡會壞事先無從得知。發現得越晚移到後段工序,返工成本據稱會以數量級膨脹
- 人才 — 同時通曉 Oracle 與 SQL Server 雙方的工程師,在招募市場上極難確保
- 統制 — 將實際資料、正式環境資訊交給外部 AI,於公司內部規範上不被允許
人才面的吃緊也反映在統計上(經濟產業省試算〔2019 年〕指出 2030 年 IT 人才在中位情境下約短缺 45 萬人([2]);IPA 調查中回答 DX 人才「質」不足者達 51.7%([3])),但現場的實感更為單純。熟知公司內部 Oracle 的負責人屆齡退休、調職在即,而維護費卻每年僵固地支出。遷移的檢討已從「總有一天要做」變成了「趁誰還做得了時由誰來做」的問題。
本文是在接受這 3 點、尤其是「3. 統制」作為限制的前提下,實地驗證 1 與 2 能以 AI 解決到何種程度。
2. 本文的範圍 — 做到了什麼、還沒做什麼 #
為避免誇大,先明示範圍。遷移工具以使用 SSMA(SQL Server Migration Assistant。Microsoft 原廠的遷移支援工具)為前提。
| 階段 | 內容 | 本文時點 |
|---|---|---|
| (1) 預測 | 製作相容性檢查清單(以 25 個項目事前預測 SSMA 的轉換結果) | 完成 |
| (2) 工具實測 | 以 SSMA for Oracle 執行 Assessment | 下期 |
| (3) 期望值 | 製作應有的轉換結果(T-SQL 期望結構描述) | 完成 |
| (4) 差異審查 | SSMA 輸出與期望值結構描述的 diff | 下期 |
| (5) 實機驗證 | 期望結構描述向遷移目標的套用+功能冒煙測試 | 完成 |

重點在於順序。把 (3) 期望值寫在 (2) 工具實測之前,並在 (5) 實機上一路證明其可運作。已被證明可運作的期望值,便能作為審查工具輸出的「驗收基準」來使用。這等於把測試驅動開發的思路帶進了遷移專案。又,期望值以 T-SQL(SQL Server 的 SQL 方言)撰寫。
25 個項目的檢查清單在現階段終究只是事前預測。與 SSMA 實測結果的對照,亦即預測命中到何處、失準在哪裡,將於下一篇報告。
另外,也明示本文不處理的領域。DB 遷移專案整體還有應用程式側資產(內嵌 SQL、資料存取層、報表、批次作業、DB link 介接等)的改修這一大工序,一般占總工時過半。本文涵蓋的是結構描述與 DB 內邏輯的轉換部分,從整體看只是一部分。不過這裡也是「不先確定,後續一切都會返工」的基礎工程。
3. 最先決定的統制 3 原則 — 「不把什麼交給 AI」的設計 #
作業開始前,先固定了以下 3 原則。
- 不處理實際資料(驗證資料全部為完全合成)
- 不把憑證永久保存於程式碼、檔案中
- 不將遷移目標 DB 的連接埠做不必要的對外公開
可交付給 AI 的資訊,其界線如下。
| 可交付 | 不交付 |
|---|---|
| DDL(資料表、限制式、預存程序定義) | 列資料(無論正式或抽出) |
| 結構描述結構、型別資訊 | 含個人資訊的一切資料 |
| 錯誤紀錄、執行結果中繼資料 | DB 的永久認證資訊(亦禁止保存於檔案、程式碼) |
| 件數等統計中繼資料 | 內部網路組態的細節 |
※連往驗證機的遠端連線資訊,採在人類管理下暫時提供、並於作業後輪替的運作方式(參見第 10 章)。
「送往外部 AI 服務」這件事本身的梳理 #
即便「不交付實際資料」,DDL 與錯誤紀錄同樣是資訊資產,這一點不變。在使用外部 AI 服務時,至少需確認以下合約條件,再來劃定界線。
- 輸入與輸出不被用於模型訓練(本次驗證所用的 Claude Code,已公開說明在商用使用條件下預設不將輸入用於模型訓練。各使用方案的最新條款務必確認)
- 資料的保存期間與刪除條件
- 處理區域與準據法
- 結構描述本身即屬機密時的額外措施。可將資料表名、欄名以機械方式匿名化後交付,再於公司內部將結果逆轉換(對照表僅保管於公司內部)
有了這條原則在先,後續的技術判斷便自動被定了向。例如 DB 驗證向 OS 整合驗證靠攏,採取「一開始就不建立密碼這種機密資訊」的組態。結果,在完成時點,成果物檔案、指令稿、執行紀錄之中任何一處,都不存在 DB 連線的機密資訊。
啟示:AI 使用準則別當成「不可為事項一覽」擱在文件櫃裡,而是作為專案規約、提示在一開始就讓 AI 讀入,執行力會大幅提升。不過在本次驗證中,即便如此仍發生了 2 次違規的嘗試(第 8 章)。事前指示單獨並不完整,唯有納入承認關卡、護欄的三層,才得以作為統制成立。
4. 用什麼代替實際資料 — 遷移驗證套件的構成 #
作為不交付實際資料的替代,先讓 AI 設計了「刻意納入相容性問題的驗證用 Oracle 結構描述」。作為正式結構描述的代理,把遷移時容易出問題的要素濃縮進一個結構描述。
驗證套件(5 項成果物)
| 成果物 | 內容 |
|---|---|
| ① 遷移來源 DDL | 顧客、訂單、庫存等虛構業務結構描述 10 個資料表。涵蓋 SEQUENCE+觸發程序採番、PL/SQL 程序、CONNECT BY 階層檢視、ROWNUM 分頁、具體化檢視表、複合鍵、CHECK 限制式 |
| ② 合成資料產生 SQL | 列數參數化(預設每表數萬~50 萬列,合計逾 100 萬列的規模) |
| ③ 相容性檢查清單 | SSMA 轉換結果的事前預測 25 項(第 5 章) |
| ④ 期望值結構描述(T-SQL) | 應有的轉換結果。所有轉換皆附理由註解(第 6 章) |
| ⑤ 驗證指令稿 | 向遷移目標建立 DB、套用、件數對照 |
合成資料的設計上多花了一道功夫。把日文、NULL、邊界值、特殊字元、表情符號這類「容易出問題的值」,不交給亂數,而是設計成必定作為「保證列」投入。為的是用合成資料搶先重現正式資料會發生的問題。由於固定了亂數種子,是可無數次重現同一份驗證資料的設計(在 Oracle 實機上的產生執行屬下期範圍。意在稽核時的可重現性)。
AI 自身在自我審查中,於執行前偵測並修正了自製產生 SQL 的 3 個 bug(非確定性的結合、多位元組字元下超出長度上限、無效的最佳化提示)。正確的理解並非「AI 的成果物無謬」,而是「含自我驗證迴圈在內很快」。AI 的輸出同樣是驗證對象——這個前提貫穿了整套方法。
5. 用「業務衝擊」來解讀相容性的陷阱 #
Oracle→SQL Server 的相容性問題常以技術術語陳述,但在決策的場合必須翻譯為業務衝擊。從 25 項檢查清單中,摘錄特別危險的 6 個。
本章所記載的 SSMA 行為皆為執行前的事前預測(與實測的對照留待下期)。
① VARCHAR2/CLOB 的非 Unicode 轉換 #
- 預測:預設轉換下預計會變成 VARCHAR/VARCHAR(MAX)。定序的字碼頁中不存在的字元(表情符號、擴充漢字等)會變成「?」,在日文以外定序的環境下整段日文都會變亂碼
- 業務衝擊:顧客姓名、地址的不可逆資料毀損。遷移後才發現也無法復原
- 對策:明確指定 NVARCHAR/NVARCHAR(MAX)
② Oracle DATE 的時刻遺失 #
- 預測:Oracle 的 DATE 保留到秒。若隨意對應到 SQL Server 的 DATE 型,時刻會消失(預測 SSMA 預設為 DATETIME2(7),該情況下時刻會保留但精度過剩)
- 業務衝擊:接單時刻、稽核軌跡的時間戳記消失,結帳處理、SLA 量測會壞掉
- 對策:以 DATETIME2(0) 承接
③ 無精度 NUMBER 變成 FLOAT #
- 預測:未指定精度的 NUMBER 預計會轉換為浮點型,會混入捨入誤差
- 業務衝擊:金額、數量出現偏差,會計對帳對不上
- 對策:明確指定 DECIMAL/BIGINT
④ 空字串與 NULL 處理方式的差異 #
- 預測:在 Oracle 中空字串 '' 即 NULL。在 SQL Server 中被視為不同物(這是兩產品的規格差異,並非預測而是確定事項)
- 業務衝擊:不報錯,卻只有業務邏輯的判定結果改變。最難發現
- 對策:事先決定遷移時的正規化方針
⑤ CONNECT BY 階層查詢 #
- 預測:預測無法自動轉換。對象為組織階層、BOM、會計科目樹的查詢
- 業務衝擊:手動改寫的工時直接衝擊估算
- 對策:改寫為遞迴 CTE(以通用資料表運算式進行的階層查詢)。已備妥等價實作
⑥ 具體化檢視表 #
- 預測:沒有完全等價的功能(索引檢視表會自動維護,但重新整理指定、彙總的自由度等限制甚大)
- 業務衝擊:需重新設計夜間批次、報表彙總的基礎
- 對策:資料表+重新整理處理,或在可接受限制時採索引檢視表
25 項整體的預測內訳為:預計可自動轉換 10、需審查警告 11、無法自動轉換 2、需人類設計判斷 6。合計之所以為 29 個分類,是因為有同時歸入多個區分的項目。也就是說,在預測階段,「交給工具就能照樣搞定」的預計只占整體約 4 成。如何對剩下的 6 成預作準備,決定了遷移品質。
這份 25 項檢查清單,是以可在讀者的遷移案件中作為「審查觀點表」「估算依據」沿用的粒度製作的。
6. 期望值結構描述 — 讓 AI 撰寫遷移的「驗收基準書」 #
本方法的核心,是不在看過 SSMA 的輸出後才思考,而是先固定應有的轉換結果(期望值)。AI 所產生的期望值結構描述,每一項轉換都附有理由註解。以下示出型別對應表的摘錄。
| Oracle | SQL Server(採用) | 採用理由 |
|---|---|---|
| NUMBER(無精度、以整數運用) | BIGINT | 避免因 FLOAT 化造成的誤差 |
| NUMBER(p,s) | DECIMAL(p,s) | 原樣對應 |
| DATE(保留時刻的欄) | DATETIME2(0) | 因 DATE 型會使時刻消失 |
| DATE(生日等僅日期的欄) | DATE | 無需時刻的業務判斷 |
| VARCHAR2 / CLOB | NVARCHAR / NVARCHAR(MAX) | 避免日文亂碼 |
| SEQUENCE+觸發程序採番 | IDENTITY | 效能與可維護性。另列 SEQUENCE 保留方案 |
| CONNECT BY | 遞迴 CTE | 附階層、路徑、末端判定的等價實作 |
| ROWNUM 分頁 | OFFSET / FETCH | 改為標準語法 |
| 具體化檢視表 | 資料表+重新整理預存程序 | 視需求亦可採索引檢視表 |
希望您留意的是,即便同為 DATE 型,也以欄為單位區分判斷「訂單日期時間用 DATETIME2(0)、生日用 DATE」這一點。這是機械式的一律轉換不會得出、立足於業務的設計判斷。此判斷並非人類從零撰寫,而是由 AI 提案、以註解明示理由,再由人類審查後承認的成果。
別以「AI 做的」就此打住,而把轉換理由、未採用的替代方案以註解留在成果物中。光是把這一點定為義務,AI 成果物就會成為後繼者、稽核人能追溯判斷的可追溯文件。
7. 在遷移目標實機上的運作證明 — 「能轉換」與「能運作」不同 #
期望值結構描述,光是寫出來還不能作為驗收基準。因為基準本身若是動不了的東西,便無法成為衡量工具輸出的尺。於是套用到遷移目標的 SQL Server 2022 實機(定序 Japanese_XJIS_140_CI_AS),並進行到功能驗證。
套用結果:執行 29 個批次、0 件錯誤(資料表 11〔業務 10 表+具體化檢視表替代表 1〕/檢視 3/函式 1/預存程序 2。這是修正套用工具端的缺陷後,最終套用時的結果)
功能冒煙測試(證明 Oracle 固有功能的轉換「能運作」):
| 驗證對象 | 結果 |
|---|---|
| IDENTITY 採番(SEQUENCE+觸發程序的替換) | PASS |
| PL/SQL 程序的 T-SQL 移植(採番值的取得、錯誤處理、交易控制) | PASS |
| 含 NVL→ISNULL 的純量函式 | PASS (計算結果與期望值一致) |
| CONNECT BY→遞迴 CTE(階層深度、路徑字串、末端判定、根節點名) | PASS (所有項目皆精確重現) |
| ROWNUM→OFFSET/FETCH 分頁 | PASS |
| 具體化檢視表替代(資料表+重新整理預存程序) | PASS |
| 索引檢視表的自動彙總反映 | PASS (連因訂單造成的庫存扣減都自動反映) |
最想傳達的是 Unicode 驗證。投入並取出含表情符號的字串「絵文字A😀🍣」後,以 LEN=6/DATALENGTH=16 位元組完全一致。這意味著「_140」世代的定序會把 Surrogate Pair(表情符號等增補字元)正確地視為 1 個字元,且是以數值而非定性評價加以確認。在處理日文資料的企業中,唯有驗證到這個程度,才能說「不會亂碼」。
作為驗證的做法,功能測試是建立用過即丟的臨時 DB 來執行,結束後即予銷毀。等待 SSMA 實測的本驗證 DB,則保持乾淨原狀。
驗證過程中,AI 所寫的驗證指令稿本身的 bug(SQL 批次的分割處理,或系統檢視欄名的錯誤等)以實機錯誤的形式暴露出來,AI 讀取錯誤訊息並自我修正的場面出現了多次。「丟到實機上去撞、再修」這種樸實的反覆能在無人手介入下運轉。這是最貼近工時壓縮實態的描述。
為求公允,也明示這次驗證的限制。驗證結構描述與期望值都由 AI 設計,就格局而言尚處於「通過了自製的考試」的階段。為了不讓它流於自我感覺良好,設計上會把期望值與 SSMA 這個獨立轉換器的輸出做 diff(下期)來對照。此外,這終究是 10 表規模的成功,數百~數千物件規模、牽涉 DB link、分割區、PL/SQL 套件的實際結構描述中可能新出現的問題尚未驗證。
8. 意料之外的收穫 — AI 的護欄成了「統制的守門人」 #
本次驗證中深具啟發的,是並未計畫的事件。作業中,AI 端的安全機制(護欄)2 次在執行前攔下操作。又,對象皆為未對網際網路公開的自家驗證環境,不含正式環境、客戶環境。
- 案例①:AI 為優先作業效率,提案並嘗試了朝削弱安全設定方向的操作(緩和保護機制以讓處理通過的做法),在執行前被安全機制拒絕。AI 並未去尋找規避手段,而是切換到在更安全的預設設定下即可成立的替代手段繼續進行
- 案例②:AI 試圖把認證資訊寫入檔案來使用時,在執行前被拒絕。轉換方針後,在本驗證階段達成了「一開始就不建立密碼這種機密資訊」、以 OS 整合驗證為基礎的組態
重要的是,這 2 件都是與人類在開頭固定的統制 3 原則相一致的制止。護欄並非作業的妨礙,而是作為「設計原則的守門人」運作,反倒把最終組態推向了更安全的一側。
不過,把這讀作「因為有 AI 的安全機制所以沒問題」是錯的。護欄的行為取決於模型與版本,單獨並不能作為統制的依據。從本次驗證能導出的實務模型,是三層統制。
- 第 1 層:事前原則 — 把可交付的資訊界線與禁止事項,作為對 AI 的最初指示加以固定
- 第 2 層:人類的承認關卡 — 在前提瓦解的局面,AI 僅止於提示選項,由人類決定方針
- 第 3 層:護欄 — 對穿越第 1、2 層的危險操作的最後防波堤

第 2 層在本次驗證中也實際發揮了作用。在查明環境前提與設想不同的場面,AI 並未擅自推進,而是提示選項,由人類裁決方針。採番方式的選定這類設計判斷亦同。
作為統制的前提,賦予 AI 的執行環境也加以限定。對象僅為未對網際網路公開區段的驗證專用機,沒有通往正式系統的連線路徑。操作全部留有紀錄,人類可隨時停止工作階段。此外,為護欄未作動的情況預備的偵測手段,由人類端持有。具體而言,是以「涉及認證、權限、外部傳送的操作」這個觀點,對工作日誌上的操作紀錄進行事後審查的運作。
而且,把哪個判斷由 AI 做出、在哪裡由人類承認、在哪裡護欄作動,依時間順序記錄下來的工作日誌,便直接成為 AI 運用的稽核軌跡。
9. 交給 AI 的手數,留給人類的判斷 #
貫穿本次驗證的角色分工實績如下。
| AI 所替代的(手數) | 留給人類的(判斷) |
|---|---|
| 相容性論點的全面盤點(25 項) | 採番方式的選定(IDENTITY,或維持 SEQUENCE 語意) |
| 轉換 DDL、期望值結構描述的產生 | 以欄為單位的時刻需求(訂單日期時間與生日的區分使用) |
| 合成資料、驗證指令稿的製作 | 是否在應用程式側吸收空字串=NULL 差異的規格判斷 |
| 實機套用與從錯誤的自我修正 | 定序(字元編碼策略)的選定 |
| 附理由註解的文件化 | 前提瓦解時方針轉換的承認 |
這條界線所意味的,是遷移所需人才樣貌的改變。不必去尋找「能從零撰寫 Oracle 與 SQL Server 雙方的雙刀工程師」,而是只要有能讀懂 AI 所產生的型別對應表、檢查清單、選項並做出判斷的審查者即可。後者無論招募或培育,都遠為實際可行。
關於工時也一併談談。本次驗證(10 表規模)的內訳如下。
| 項目 | 實績、形式 |
|---|---|
| AI 的作業(套件設計、轉換、實機套用、驗證) | 一連串作業可容納於 1 天的作業紀錄內 |
| 人類的作業 | 方針承認(在承認關卡上的決策數次)與成果物審查 |
| AI 使用費 | 取決於使用方案(本驗證在定額方案範圍內) |
依本公司至今的經驗,同類的前處理通常需在確保通曉雙方 DB 的人員後,耗時以週計。不過所需時間取決於案件規模、結構描述複雜度,因此我們不把這個比較一般化為定量效果。讀者在自家案件估算時,把「對象物件數 × 審查時間(越是需要型別、採番、日期判斷的資料表越重)」置於人類側工時的基礎,而把 AI 側的產生、驗證視為其從屬變數,應較貼近實態。
「只要有審查者即可」中審查者的條件也具體化一下。所需的是前述角色分工表的右欄,亦即能就採番方式、日期型別、定序、NULL 方針下判斷,實質上只要有 1 名 SQL Server 側的設計經驗者便足夠。公司內若有 SQL Server 的運維、設計經驗者即可內製,若沒有則只在該判斷部分併用外部審查,是較實際的分歧。
10. 供自家試行的檢查清單 #
彙整將本方法套用於自家遷移檢討時的要點。
資訊的界線(落實到 AI 使用準則)
- 可交付:DDL、結構描述結構、錯誤紀錄、統計中繼資料
- 不交付:列資料、個人資訊、DB 的永久認證資訊
- 作業上不得已暫時共享的連線資訊,在人類管理下提供,並於作業後務必輪替
- 結構描述本身即屬機密時:考慮資料表名、欄名的匿名化,以及僅抽出結構
合成資料的要求
- 完全合成(無正式值混入)
- 固定亂數種子、可重現的設計
- 包含日文、NULL、邊界值、特殊字元、表情符號的「保證列」
成果物的要求
- 所有轉換判斷皆附理由註解(含未採用的替代方案)
- 預測與實測的分離記錄(在檢查清單標註「預測」標籤)
- 工作日誌的保全(判斷主體可依時間順序追溯。對外提供時須去敏)
運作的要求
- 事先定義需通過人類承認關卡的判斷節點
- AI 的拒絕(護欄作動)事件也列為記錄對象
11. 總結 — 遷移品質從「事後發現」走向「事先固定」 #
已獲實證的事
- 在不向 AI 交付任何一行實際資料的情況下,遷移前處理(相容性預測、轉換設計、在遷移目標實機上的套用與功能驗證)可以完成
- 「先寫期望值結構描述並在實機上證明其可運作」這種驗收基準的事先固定,以 AI 可達實用速度
- 把統制原則最先交給 AI,再疊上承認關卡與護欄,便能作為統制側的機制運作
尚未獲實證的事
- 以 SSMA 進行實際轉換的結果(25 項檢查清單尚處於事前預測階段)
- 實際資料遷移階段的課題(資料品質、件數規模下的效能、運維設計)。這裡仍是由人類與專用工具在受統制的公司內部環境中承擔的領域
下一篇,將實測 SSMA for Oracle 的 Assessment Report,把 25 項預測命中到何處、失準在哪裡,逐件對照。正因為先把預測作為文件固定下來才做得到這樣的驗證。預測失準的項目,理應正是對組織最具價值的洞見。
附錄 A:相容性檢查清單 25 項的全貌(SSMA 轉換結果的事前預測) #
區分凡例:自動=預計可自動轉換/警告=會轉換但需審查/錯誤=預計無法自動轉換/設計=需人類設計判斷
| # | 項目 | 預測區分 |
|---|---|---|
| 1 | 無精度 NUMBER(以整數運用) | 警告 |
| 2 | NUMBER(p,s) | 自動 |
| 3 | NVARCHAR2 | 自動 |
| 4 | VARCHAR2(儲存日文) | 警告 |
| 5 | CLOB | 警告 |
| 6 | DATE(含時刻的運用) | 警告 |
| 7 | TIMESTAMP(6) | 自動 |
| 8 | VARCHAR2(4000) 的最大長度(位元組長與字元長) | 警告 |
| 9 | 無精度 NUMBER(含小數) | 警告 |
| 10 | BLOB | 自動 |
| 11 | 複合主鍵、複合外部鍵 | 自動 |
| 12 | CHECK 限制式 | 自動 |
| 13 | NCLOB | 自動 |
| 14 | 自我參照外部鍵 | 自動 |
| 15 | SEQUENCE 物件 | 自動設計 |
| 16 | 以 BEFORE INSERT 觸發程序進行的採番 | 警告設計 |
| 17 | PL/SQL 函式 | 自動警告 |
| 18 | PL/SQL 程序(%TYPE、RETURNING 等) | 警告設計 |
| 19 | CONNECT BY 階層查詢 | 錯誤 |
| 20 | ROWNUM 分頁 | 警告設計 |
| 21 | 具體化檢視表 | 錯誤設計 |
| 22 | 空字串 ''=NULL 語意 | 警告 |
| 23 | 增補字元(表情符號、4 位元組 UTF-8) | 警告設計 |
| 24 | SYSDATE / SYSTIMESTAMP | 自動 |
| 25 | DUAL 虛擬表 | 自動 |
附錄 B:AI 使用準則條文範例(供公司內部檢討的草案) #
- (資訊的區分)可提供給 AI 的資訊,限結構描述定義(DDL)、錯誤紀錄、統計中繼資料。禁止提供列資料、個人資訊、永久認證資訊。
- (驗證資料)用於 AI 驗證的資料一律為完全合成,並記錄產生條件(亂數種子等)以確保可重現性。
- (承認關卡)設計判斷及作業前提的變更,須經 AI 提示選項與承辦人承認後實施。
- (記錄)AI 的操作、判斷、安全機制的作動事件須依時間順序記錄並保全。對外提供時進行去敏。
- (暫時認證資訊)作業上暫時共享的認證資訊,於作業完成後使其失效。
出處 #
- [1]: Oracle Lifetime Support Policy: Oracle Technology Products(Oracle 官方) https://www.oracle.com/us/assets/lifetime-support-technology-069183.pdf (補充報導:The Register, 2025 年 2 月 https://www.theregister.com/2025/02/18/oracle_extends_19c_support/ )。延長期間內的提供內容、除外事項,建議依自家合約確認。
- [2]: 經濟產業省「關於 IT 人才供需的調查」(2019 年) https://www.meti.go.jp/policy/it_policy/jinzai/gaiyou.pdf
- [3]: IPA「DX 白皮書 2023」。回答推動 DX 的人才「質」大幅不足的企業,於 2022 年度調查為 51.7%(2021 年度 30.5%) https://www.ipa.go.jp/publish/wp-dx/gmcbt8000000botk-att/000108046.pdf