Navicat Blog

Produktivitas SQL Editor: Refactoring & Deteksi Kesalahan Real-Time Sep 21, 2026 by Robert Gravelle

Membuat query sederhana dengan cepat memang mudah. Namun, pemeliharaannya menjadi merepotkan ketika query tersebut berkembang hingga memiliki lima belas JOIN dan sejumlah alias. Saat Anda mengganti nama satu alias tabel, Anda harus mencari setiap referensinya secara manual. SQL Editor di Navicat 18 dirancang untuk mengatasi hambatan seperti ini melalui tiga fitur tambahan: Refactoring, Deteksi Kesalahan Real-Time, dan Code Insight.

Refactoring: Rename Symbol

Fitur utamanya adalah Rename Symbol, yang dibangun di atas SQL parser yang telah ditulis ulang. Berbeda dengan beberapa fitur baru lainnya di Navicat 18, fitur ini sepenuhnya deterministik. Tidak ada AI yang terlibat dan tidak ada ambiguitas mengenai tindakan yang akan dilakukan. Parser memahami struktur query Anda dengan cukup baik untuk menemukan setiap kemunculan identifier tertentu dan memperbarui semuanya secara bersamaan, dengan aman, dalam satu tindakan.

Misalnya, Anda sedang menggunakan MySQL Sakila Sample Database dengan query seperti berikut:

SELECT c.customer_id,
       c.first_name,
       c.last_name,
       SUM(p.amount) AS total_spend
FROM customer c
LEFT JOIN payment p ON p.customer_id = c.customer_id
GROUP BY c.customer_id
ORDER BY total_spend DESC
LIMIT 1;

Jika alias c dirasa kurang deskriptif, arahkan kursor ke alias tersebut, klik kanan, atau Ctrl+klik pada macOS, lalu pilih Refactor > Rename Symbol....

refactor_command (75K)

Tanda elipsis setelah Rename Symbol menunjukkan bahwa perintah tersebut akan membuka kotak dialog. Di kotak dialog Rename Symbol, kita dapat memasukkan nama baru.

rename_symbol_dialog (13K)

Setelah kita menekan tombol OK, setiap kemunculan c di seluruh statement, baik pada daftar SELECT, klausa FROM, kondisi JOIN, maupun GROUP BY, akan diperbarui secara bersamaan. Dengan demikian, tidak akan ada query yang hanya terganti namanya sebagian hingga menyebabkan kesalahan sintaks. Perintah yang sama juga dapat digunakan untuk mengganti nama object identifier, bukan hanya alias.

Deteksi Kesalahan Real-Time

Alih-alih menunggu eksekusi gagal untuk mengetahui adanya masalah, SQL Editor kini memeriksa script Anda secara terus-menerus saat Anda mengetik. Kesalahan ketik, referensi ke kolom atau tabel yang tidak ada, serta nama kolom yang ambigu dalam query multi-tabel akan langsung ditandai secara inline, bukan baru muncul sebagai pesan kesalahan database yang sulit dipahami setelah Anda menekan Run. Untuk query yang melibatkan beberapa tabel yang di-JOIN, fitur ini saja dapat menghemat beberapa kali proses trial and error.

Berikut adalah query yang sama seperti di atas, tetapi dengan nama kolom yang salah. Jika kita mengarahkan kursor mouse ke teks mana pun yang diberi garis bawah berwarna oranye, akan muncul pesan peringatan:

bad_column (36K)

Fungsi "SUM" juga diberi garis bawah berwarna merah. Mengarahkan kursor mouse ke fungsi tersebut akan menampilkan pesan kesalahan:

syntax_error (26K)

Kedua pesan kontekstual tersebut menyediakan opsi Fix with AI. Sesuai namanya, fitur Fix with AI menggunakan AI untuk memperbaiki seluruh peringatan dan kesalahan dalam query. Perubahan yang diusulkan kemudian ditampilkan dalam kotak dialog:

fix_with_ai_dialog (93K)

Kita dapat memilih salah satu dari tiga opsi untuk menerapkan kode ke editor:

  • Append to Editor: Menambahkan kode ke bagian akhir konten yang sudah ada.
  • Replace All in Editor: Menghapus seluruh konten yang ada dan menggantinya sepenuhnya dengan kode baru.
  • Replace Selection in Editor (opsi default): Menghapus konten yang dipilih dan menggantinya dengan kode baru.

Code Insight

Code Insight melengkapi ketiga fitur tersebut dengan tiga fungsi tambahan yang sederhana tetapi sangat berguna: mengarahkan kursor ke suatu identifier akan menampilkan metadata-nya, seperti tipe data, nullability, dan informasi lainnya, tanpa perlu meninggalkan editor; mengklik identifier akan menyorot setiap lokasi lain tempat identifier tersebut digunakan dalam script, sehingga memudahkan penelusuran kolom di dalam query yang panjang; dan Ctrl+Klik pada tabel atau kolom akan langsung membuka object designer atau data editor untuk objek tersebut.

info_popup (60K)

Mengapa Semua Fitur Ini Penting

Secara keseluruhan, ketiga fitur ini mengubah alur kerja penulisan SQL sehari-hari. Anda akan menghabiskan lebih sedikit waktu untuk memperbarui perubahan nama secara manual, lebih sedikit waktu untuk men-debug kesalahan ketik setelah terjadi, dan lebih sedikit waktu berpindah konteks hanya untuk memeriksa tipe suatu kolom. Bagi siapa pun yang menghabiskan banyak waktu bekerja di Query Editor, peningkatan efisiensi ini akan sangat terasa.

Arsip Blog
Bagikan