Editor SQL
Editor SQL menjalankan statement di posisi kursor dengan ⌘↵ dan seluruh script dengan ⌥X, dan setiap statement mendapat tab hasil sendiri. Setiap tab SQL punya session sendiri di satu koneksi, jadi schema, transaksi, dan riwayatnya tetap melekat pada tab itu.

Menjalankan statement atau script
Buka script baru dengan ⌘]. Tab terikat ke koneksi yang dipilih di navigator, dan action bar menampilkan database serta schema yang aktif.
- Run (⌘↵) menjalankan satu statement. Tanpa seleksi, yang dipilih adalah statement yang memuat kursor, atau statement di baris yang sama dengan kursor. Kalau kursor berada di baris kosong tersendiri, tidak ada yang dijalankan, jadi statement di atasnya tidak ikut terjalankan ulang tanpa sengaja.
- Dengan seleksi, Run mengirim teks yang diseleksi apa adanya. Kalau seleksi berisi lebih dari satu statement, seleksi itu dijalankan sebagai script.
- Run script (⌥X) menjalankan semua statement di tab secara berurutan. Masing-masing mendapat tab hasil seperti
2 · SELECT 200 rows, dan tab Output mencantumkan setiap statement beserta durasi dan hasilnya. Statement setelah statement yang gagal ditandainot run.
Pemisahan statement dilakukan oleh backend aplikasi sesuai dialek: string, komentar, dollar quote PostgreSQL, backtick MySQL, dan kurung siku SQL Server tetap dihormati. Di SQL Server, script dijalankan per batch di antara baris GO.
Kalau Anda mematikan Run statement under cursor di Settings › Editor, ⌘↵ tanpa seleksi akan menjalankan seluruh script.
Mengambil baris
Hasil query datang per halaman. Ukuran halamannya adalah fetch size di Settings › Data grid (default 200 baris). Di bawah grid, Fetch next membaca halaman berikutnya dan Fetch all membaca sisanya. Fetch all bertanya dulu kalau planner memperkirakan lebih dari 50.000 baris atau ukurannya tidak diketahui, dan menawarkan Export sebagai gantinya.
Kalau statement gagal dan server melaporkan posisinya, editor menandai kata itu di script dan tab hasilnya berubah merah.
Membatalkan query
Tekan Cancel atau ⌘. selama statement berjalan atau baris masih diambil. Selekta meminta server menghentikan statement: pg_cancel_backend di PostgreSQL, KILL QUERY di MySQL, TDS attention di SQL Server, dan sqlite3_interrupt di SQLite. Status line menampilkan apa yang dikirim selama menunggu.
Kalau server belum menghentikan statement setelah 5 detik, muncul tombol Terminate connection (tidak ada di SQLite). Tombol ini tidak pernah ditekan otomatis. Terminate memutus koneksi server, sehingga transaksi yang terbuka di-rollback, lalu session baru dibuka dengan mode commit yang sama.
Setelah pembatalan, sebuah banner menjelaskan apa yang terjadi pada transaksi Anda, misalnya statement sudah di-rollback tetapi transaksinya masih terbuka, lengkap dengan Run again atau Explain instead bila relevan. Statement yang dibatalkan tetap ada di riwayat sebagai VOID.
Parameter
Tulis :name atau ${name} di statement untuk menjadikannya parameter. Placeholder di dalam string, komentar, dan nama yang dikutip diabaikan, dan cast ::int tidak dianggap parameter.
Saat Anda menjalankan statement yang punya placeholder, muncul popover seperti Bind 2 parameters dengan satu kolom isian per nama, sesuai urutan kemunculannya:
- Ketik nilai di setiap kolom. ⇥ pindah ke kolom berikutnya.
- Ketik
NULL(huruf besar atau kecil) untuk SQL NULL. - Biarkan Remember values for this script menyala supaya kolom terisi otomatis lain kali, dengan keterangan "last used" di bawahnya.
- Tekan Run atau ⌘↵.
Nilai tidak pernah ditempel ke SQL begitu saja. Di SQLite nilai dikirim sebagai bound parameter. Di PostgreSQL, MySQL, dan SQL Server nilai dikirim sebagai literal yang dikutip dan di-escape, jadi it's menjadi 'it''s'. :name dan ${name} diperlakukan sama. Baris bantuan di bawah setiap kolom menunjukkan bagaimana nilainya akan dikirim. Riwayat mencatat statement dengan nilai yang sudah terisi.
Autocomplete, format, dan komentar
Autocomplete
Sambil Anda mengetik, editor menyarankan tabel, kolom, dan keyword untuk schema yang aktif, dibaca dari katalog koneksi. Tekan ⌃Space untuk membuka daftar kapan saja. Selama katalog dimuat, daftar menampilkan satu baris redup "Loading metadata for…" dan keyword tetap bisa dipilih. Matikan Autocomplete while typing di Settings › Editor kalau Anda hanya ingin daftar muncul saat diminta.
Mengganti schema di action bar mengubah apa yang disarankan. Di PostgreSQL ini juga mengatur search_path session (schema Anda di depan, path asli di belakangnya), dan di MySQL menjalankan USE. Di SQL Server, pilihan ini hanya membatasi saran dan nama tanpa kualifikasi.
Format SQL
⇧⌘F merapikan seleksi, atau seluruh script kalau tidak ada seleksi, sesuai dialek koneksi. Huruf besar kecil keyword dipertahankan seperti yang Anda tulis, dan indentasi mengikuti tab size di Settings. Undo mengembalikan tata letak sebelumnya. Format SQL before run di Settings › Editor mati secara default, jadi yang Anda ketik itulah yang dijalankan dan tercatat di riwayat.
Komentar
⌃/ mengomentari atau membuka komentar baris atau seleksi saat ini.
Menyimpan script
Tekan ⌘S untuk menyimpan tab sebagai file .sql. Tab baru bernama Script-1, Script-2, dan seterusnya. Penyimpanan pertama menulis file ke folder scripts Selekta di direktori data aplikasi, di subfolder untuk koneksi tab itu, dengan nama sesuai tab. Kalau nama itu sudah dipakai, ditambahkan angka.
Kalau program lain mengubah file sejak Anda membukanya, penyimpanan tidak menimpanya diam-diam. Sebuah dialog menawarkan Overwrite, Reload from disk, atau Cancel. Kalau file berubah di disk sementara tab Anda tidak punya perubahan, sebuah banner menawarkan Reload atau Keep this version.
Mencari script yang tersimpan
Jalankan Show scripts dari command palette (⌘K). Script dikelompokkan per koneksi, yang terbaru di atas. Klik untuk membuka; menu konteksnya berisi Open, Rename, dan Move to Trash…. Titik menandai script yang tab terbukanya punya perubahan belum disimpan. Menghapus memindahkan file ke Trash macOS.
Script yang belum disimpan
Script yang belum pernah Anda simpan tidak hilang. Sekitar satu detik setelah setiap perubahan, dan tepat sebelum keluar, Selekta menyimpan teks setiap tab SQL di database miliknya sendiri (bukan di file script Anda). Saat aplikasi dibuka lagi, tab-tab itu kembali dengan teksnya, selama Restore tabs on start menyala di Settings › General.
Menutup tab yang punya perubahan belum disimpan akan bertanya Save changes to Script-1? dengan pilihan Save (default), Cancel, dan Don't save. Kalau tab itu juga punya statement belum di-commit dalam transaksi manual, Anda lebih dulu memilih untuk commit atau rollback. Lihat manual commit.
Riwayat
Setiap statement yang Anda jalankan di koneksi mana pun dicatat beserta waktu, durasi, dan hasilnya. Setiap tab SQL punya tab hasil History untuk statement-nya sendiri. Untuk semuanya, buka Query history dengan ⇧⌘H:
- Cari teks statement, saring per koneksi, atau pilih VOID only.
- Entri VOID adalah statement yang tidak pernah berlaku: query yang dibatalkan, statement yang di-rollback, edit grid yang dibuang, dan statement yang diblokir di koneksi read-only. Masing-masing menyebutkan alasannya.
- Klik dua kali entri untuk membukanya di tab SQL baru, atau gunakan Open in editor dan Copy SQL pada entri VOID.
- Entri dikelompokkan per hari, dan statement yang lebih dari satu detik ditandai slow.
Riwayat tetap di Mac Anda. Lama penyimpanannya diatur di Settings (default 90 hari). Literal password di statement seperti ALTER ROLE ... PASSWORD '...' disimpan dalam bentuk tersamar.