Ruang penulis
← Kembali ke jurnal
MSSQL

Stored procedure T-SQL di SQL Server untuk pemula

Pelajari struktur dasar stored procedure T-SQL beserta parameter input dan output.

DTim Diary Coding · 24 Agt 2026 · 2 menit baca

Struktur dasar stored procedure

T-SQL adalah dialek SQL yang dipakai SQL Server, dengan struktur CREATE PROCEDURE yang mirip namun punya sintaks tersendiri dibanding PL/SQL Oracle atau dialek MySQL.

CREATE PROCEDURE dbo.TambahPelanggan
    @Nama NVARCHAR(100),
    @Email NVARCHAR(150),
    @PelangganId INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;

    INSERT INTO Pelanggan (Nama, Email)
    VALUES (@Nama, @Email);

    SET @PelangganId = SCOPE_IDENTITY();
END;

Memanggil prosedur dengan parameter output

DECLARE @IdBaru INT;

EXEC dbo.TambahPelanggan
    @Nama = N'Rangga',
    @Email = N'rangga@contoh.test',
    @PelangganId = @IdBaru OUTPUT;

SELECT @IdBaru AS IdPelangganBaru;

SCOPE_IDENTITY() mengambil nilai identity yang baru saja dihasilkan dari INSERT di batch yang sama, lebih aman dibanding @@IDENTITY yang bisa terpengaruh trigger.

SET NOCOUNT ON

Baris SET NOCOUNT ON mencegah SQL Server mengirim pesan jumlah baris yang terpengaruh setelah setiap pernyataan, sehingga mengurangi lalu lintas jaringan yang tidak perlu antara aplikasi dan server.

Menangani error dengan TRY...CATCH

BEGIN TRY
    BEGIN TRANSACTION;
    -- pernyataan yang berpotensi gagal
    COMMIT TRANSACTION;
END TRY
BEGIN CATCH
    ROLLBACK TRANSACTION;
    THROW;
END CATCH;

Latihan

Tambahkan validasi di dalam prosedur TambahPelanggan agar melempar error kustom lewat THROW jika email sudah terdaftar sebelumnya.

← Jelajahi catatan lainnya