由 · 發表於: · 更新於: | 瀏覽數: 20 / 21
標籤: DataGripIntellijsql server
當我們需要以 INSERT 敘述匯出部份資料時,可以用查詢來操作,步驟如下:
- 在編輯區執行 SELECT 敘述做查詢
- 在資料格區域確認右上角的Data Extractors是SQL-Insert-Statements (groovy),若不是此選項的話,可由選單裡選擇變更

- 在資料格區域選取多筆記錄後按Ctrl+C將對應資料產生成INSERT敘述並複製到系統剪貼簿
- 在編輯區或文字編輯器按Ctrl+V貼上剛剛產生的敘述,查看產生的內容是否符合需求
1. 需求
- 來源資料庫的定序是不區分大小寫,但目的資料庫是區分大小寫,因此產生的INSERT敘述資料表名稱與欄位名稱皆需要變大寫
- INSERT敘述不要帶有資料庫名稱與Schema名
在預設的設定下以上需求皆不符合,因此必須再做額外處理。
2. 名稱(Identifiers)大寫
- 大寫識別字的設定:【Settings...】→【Editor】→【Code Style】→【SQL】→因操作的資料庫系統是MS SQL Server,再選擇【MS SQL Server, MS Azure】
- 點擊【Case】頁籤,將【Word Case】裡的【Identifiers】改成【To upper】
- 可看到最右側的預覽內的資料表名稱與欄名都變成大寫了

3. 移除資料庫名稱與Schema名稱
Data Extractors和SQL Generator沒有設定資料庫名稱的選項,但我們可以修改產生 INSERT 敘述的處理腳本:SQL-Insert-Statements.sql.groovy,腳本語言是Groovy。
3.1. 變更前先備份
- 點擊資料格區域右上角的Data Extractors選單→最後一項【Go to Scripts Directory】或點擊側邊檔的【File】→【Scratchers and Consoles】→【Extensions】→【Database Tools and SQL】→【data】→【extractors】
- 在SQL-Insert-Statements.sql.groovy按右鍵→Copy(Ctrl+C),再按Ctrl+V貼上,存成新的腳本檔

[!tip] 預設腳本位置
C:\Users\使用者帳號\AppData\Roaming\JetBrains\DataGrip2025.2\extensions\com.intellij.database\data\extractors\SQL-Insert-Statements.sql.groovy
3.2. 修改腳本內容
開啟要修改的腳本檔後,將輸出資料庫名稱與Schame名稱的程式加上註解:
def record(columns, dataRow) {
OUT.append(KW_INSERT_INTO)
if (TABLE == null) OUT.append("MY_TABLE")
else OUT/*.append(TABLE.getParent().getName()).append(".")*/.append(TABLE.getName())
OUT.append(" (")
修改後再重新啟動DataGrip,確認Data Extractors選單使用了修改後的 .groovy 腳本檔,再於資料格區域選取記錄再按Ctrl+C,此後 INSERT 敘述已依照修改後的指令操作產生成需要的輸出了。
4. 💡 相關鏈接
✅ 解說文章(繁體中文): https://jdev.tw/blog/8985/
✅ Explanation article(English)
✅ 解説記事(日本語)
##
您可能也會有興趣的類似文章
- 命令行資料庫工具 SQL-Bless 與 CSV文字檔編輯 CSVI (2則留言, 2024/05/25)
- [IntelliJ IDEA 2017.2] Database tool功能簡介 (0則留言, 2017/07/29)
- JetBrains公司的DataGrip可以非商用免費使用了 (0則留言, 2025/10/07)
- SQL null 的判斷 (0則留言, 2025/03/20)
- [Windows] 刪除特定Java process的方法 (0則留言, 2017/08/02)
- IntelliJ IDEA Live Template(即時樣板)的使用與範例說明(IDEA #5) (0則留言, 2019/08/11)
- JetBrains推出了程式設計人員使用的等寬字體:JetBrains Mono (0則留言, 2020/01/16)
- JetBraisn即將提高售價 (0則留言, 2022/07/01)
- 在IntelliJ IDEA裡以Scratch外掛隨時記錄備忘與開啟外部文件 (0則留言, 2016/03/20)
- 使用IntelliJ IDEA學習Java程式設計 (IDEA #1) (0則留言, 2019/07/14)
- [IDEA#13] 快速在多個視窗中辨識專案的方法 (0則留言, 2021/02/09)
- [IntelliJ IDEA] 檔案樣板的使用技巧 (0則留言, 2017/11/26)
- Java的資料型態與簡單的計算機程式 (IDEA #8) (0則留言, 2019/08/25)
- 使用IntelliJ IDEA 12的Android UI Designer輕鬆寫Android App (1則留言, 2012/08/09)
- 開發Android應用程式時操作SQLite資料庫的方法 (0則留言, 2019/03/30)