全部产品
Search
文档中心

DataWorks:Contoh kode untuk sintaks SQL tingkat lanjut yang digunakan untuk membuat API di editor kode

更新时间:Jun 23, 2025

DataService Studio memungkinkan Anda membuat API menggunakan editor kode. Di dalam editor kode, Anda dapat menggunakan sintaks SQL dasar atau sintaks SQL tingkat lanjut untuk mengimplementasikan logika kueri. Sintaks SQL tingkat lanjut mendukung tag umum dari MyBatis seperti if, choose, when, otherwise, trim, foreach, dan where. Anda dapat menggunakan sintaks SQL tingkat lanjut untuk mengimplementasikan logika kueri kompleks seperti pengecekan nilai null, penelusuran multi-nilai, kueri dinamis tabel, pengurutan dinamis, dan kueri agregat.

Catatan Penggunaan

Topik ini memberikan contoh kode tentang cara menggunakan pernyataan SQL tingkat lanjut untuk mengimplementasikan logika kueri saat membuat API dengan editor kode. Topik ini juga menjelaskan pemetaan antara pernyataan SQL dan request parameters serta response parameters dari sebuah API. Anda harus menyesuaikan nama tabel, nama bidang, dan kondisi kueri dalam contoh kode sesuai kebutuhan bisnis Anda.

null

Saat membuat API, nilai contoh untuk parameter permintaan dan respons tidak diperlukan. Jika Anda menggunakan nilai yang sama untuk parameter permintaan setiap kali menguji API, nilai contoh akan dimuat secara otomatis sebagai input parameter permintaan. Dengan cara ini, Anda tidak perlu berulang kali menentukan nilai untuk parameter tersebut. Nilai contoh hanya untuk referensi.

Untuk informasi lebih lanjut tentang cara membuat API menggunakan editor kode, lihat Membuat API dengan Menggunakan Editor Kode.

Topik ini menyediakan contoh-contoh berikut yang menggunakan sintaks SQL tingkat lanjut:

Contoh 1: Mengurutkan hasil yang dikembalikan berdasarkan bidang tabel menggunakan kondisi

Dalam contoh ini, pernyataan SQL dinamis digunakan. Anda dapat mengonfigurasi variabel var untuk menentukan metode pengurutan hasil kueri.

  • Jika Anda menetapkan 1 ke variabel var, hasil kueri diurutkan menggunakan klausa order by col01.

  • Jika Anda menetapkan 2 ke variabel var, hasil kueri diurutkan menggunakan klausa order by col02.

  • Jika Anda menetapkan 3 ke variabel var, hasil kueri diurutkan menggunakan klausa order by col01,col02.

  • Jika Anda menetapkan 4 ke variabel var, hasil kueri diurutkan menggunakan klausa order by col02,col01.

Kode berikut menunjukkan contohnya.

null

Ganti nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan bisnis Anda.

select col01,col02
from table_name  
<choose>
    <when test='var == 1'>
    order by col01
    </when>
    <when test='var == 2'>
    order by col02
    </when>
    <when test='var == 3'>
    order by col01,col02
    </when>
    <when test='var == 4'>
    order by col02,col01
    </when>
</choose>

Gambar berikut menunjukkan contoh konfigurasi yang digunakan untuk membuat API dengan editor kode. Anda dapat menyesuaikan nilai contoh sesuai kebutuhan bisnis Anda.image.png

  • Parameter Permintaan

    Nama Parameter

    Tipe

    Posisi

    Wajib

    Nilai Contoh

    Nilai Default

    Deskripsi

    var

    INT

    QUERY

    Ya

    1

    1

    Metode pengurutan.

  • Parameter Respons

    Nama Parameter

    Tipe

    Nilai Contoh

    col01

    STRING

    shortname

    col02

    STRING

    name

Contoh 2: Meminta data dari tabel yang berbeda menggunakan kondisi

Dalam contoh ini, pernyataan SQL dinamis digunakan. Anda dapat menetapkan nilai berbeda ke variabel var untuk meminta data dari bidang col01 di tabel yang berbeda.

  • Jika Anda menetapkan 1 ke variabel var, data dari bidang col01 di tabel table_name01 dikembalikan.

  • Jika Anda menetapkan 2 ke variabel var, data dari bidang col01 di tabel table_name02 dikembalikan.

Kode berikut menunjukkan contohnya.

null

Ganti nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan bisnis Anda.

select col01
from
<choose>
 <when test='var == 1'>
 table_name01
 </when>
 <when test='var == 2'>
 table_name02
 </when>
</choose>

Gambar berikut menunjukkan contoh konfigurasi yang digunakan untuk membuat API dengan editor kode. Anda dapat menyesuaikan nilai contoh sesuai kebutuhan bisnis Anda.image.png

  • Parameter Permintaan

    Nama Parameter

    Tipe

    Posisi

    Wajib

    Nilai Contoh

    Nilai Default

    var

    INT

    QUERY

    Ya

    1

    1

  • Parameter Respons

    Nama Parameter

    Tipe

    Nilai Contoh

    col01

    STRING

    123

Contoh 3: Menentukan apakah akan mempertahankan klausa WHERE berdasarkan apakah nilai bidang adalah null

Dalam contoh ini, kondisi kueri dibuat secara dinamis berdasarkan nilai parameter area dalam koleksi list. Kemudian, data diminta berdasarkan kondisi tersebut.

Jika koleksi list tidak null, kondisi kueri yang berisi nilai bidang area dibuat. Kemudian, koleksi list ditelusuri berdasarkan kondisi kueri, dan elemen-elemen dalam koleksi digabungkan dengan cara tertentu. Akibatnya, data dari bidang area_id, area, dan amount dikembalikan.

Kode berikut menunjukkan contohnya.

null

Ganti nama tabel, bidang, dan kondisi lainnya sesuai kebutuhan bisnis Anda.

SELECT area_id, area, amount
FROM table_name
<where>
	<if test='list!=null'>
	area in
		<foreach collection="list" open="(" close=")" separator="," item="area">
		${area}
		</foreach>
	</if>
</where>

Gambar berikut menunjukkan contoh konfigurasi yang digunakan untuk membuat API dengan editor kode. Anda dapat menyesuaikan nilai contoh sesuai kebutuhan bisnis Anda.image.png

  • Parameter Permintaan

    Nama Parameter

    Tipe

    Posisi

    Wajib

    Nilai Contoh

    Nilai Default

    list

    STRING_LIST

    QUERY

    Ya

    Beijing,Hangzhou

    Beijing

  • Parameter Respons

    Nama Parameter

    Tipe

    Nilai Contoh

    area_id

    STRING

    123120

    area

    STRING

    Beijing

    amount

    STRING

    50