Bagikan melalui


Pengidentifikasi Database

Nama objek database disebut sebagai pengidentifikasinya. Semua yang ada di Microsoft SQL Server dapat memiliki pengidentifikasi. Server, database, dan objek database, seperti tabel, tampilan, kolom, indeks, pemicu, prosedur, batasan, dan aturan, dapat memiliki pengidentifikasi. Pengidentifikasi diperlukan untuk sebagian besar objek, tetapi bersifat opsional untuk beberapa objek seperti batasan.

Pengidentifikasi objek dibuat saat objek ditentukan. Pengidentifikasi kemudian digunakan untuk mereferensikan objek. Misalnya, pernyataan berikut membuat tabel dengan pengidentifikasi TableX, dan dua kolom dengan pengidentifikasi KeyCol dan Description:

CREATE TABLE TableX  
(KeyCol INT PRIMARY KEY, Description nvarchar(80))  

Tabel ini juga memiliki batasan yang tidak disebutkan namanya. Batasan PRIMARY KEY tidak memiliki pengidentifikasi.

Pengurutan pengidentifikasi tergantung pada tingkat penentuannya. Pengidentifikasi objek tingkat instans, seperti login dan nama database, diberi kolase default instans. Pengenal objek di database, seperti tabel, tampilan, dan nama kolom, diberi pengurutan default dari database. Misalnya, dua tabel dengan nama yang berbeda hanya dalam penggunaan huruf besar/kecil dapat dibuat dalam database yang memiliki pengurutan peka terhadap huruf besar/kecil, tetapi tidak dapat dibuat dalam database yang memiliki pengurutan tidak peka terhadap huruf besar/kecil.

Nota

Nama variabel, atau parameter fungsi dan prosedur tersimpan harus mematuhi aturan untuk pengidentifikasi Transact-SQL.

Kelas Pengidentifikasi

Ada dua kelas pengidentifikasi:

Pengidentifikasi biasa
Mematuhi aturan untuk format pengidentifikasi. Pengidentifikasi reguler tidak dibatasi saat digunakan dalam pernyataan Transact-SQL.

SELECT *  
FROM TableX  
WHERE KeyCol = 124  

Pengidentifikasi pemisah
Diapit dalam tanda kutip ganda (") atau tanda kurung siku ([ ]). Pengidentifikasi yang mematuhi aturan untuk format pengidentifikasi mungkin tidak dibatasi. Contohnya:

SELECT *  
FROM [TableX]         --Delimiter is optional.  
WHERE [KeyCol] = 124  --Delimiter is optional.  

Pengidentifikasi yang tidak mematuhi semua aturan untuk pengidentifikasi harus dibatasi dalam pernyataan Transact-SQL. Contohnya:

SELECT *  
FROM [My Table]      --Identifier contains a space and uses a reserved keyword.  
WHERE [order] = 10   --Identifier is a reserved keyword.  

Pengidentifikasi reguler dan dibatasi harus berisi dari 1 hingga 128 karakter. Untuk tabel sementara lokal, pengidentifikasi dapat memiliki maksimal 116 karakter.

Aturan untuk Pengidentifikasi Reguler

Nama variabel, fungsi, dan prosedur tersimpan harus mematuhi aturan berikut untuk pengidentifikasi Transact-SQL.

  1. Karakter pertama harus salah satu dari berikut ini:

    • Huruf sebagaimana didefinisikan oleh Unicode Standard 3.2. Definisi huruf Unicode mencakup karakter Latin dari a hingga z, dari A hingga Z, dan juga karakter huruf dari bahasa lain.

    • Tanda garis bawah (_), tanda at (@), atau tanda pagar (#).

      Simbol tertentu di awal pengidentifikasi memiliki arti khusus di SQL Server. Pengidentifikasi reguler yang dimulai dengan tanda "at" (@) selalu menunjukkan variabel atau parameter lokal dan tidak dapat digunakan sebagai nama untuk jenis objek lain apa pun. Pengidentifikasi yang dimulai dengan tanda angka menunjukkan tabel atau prosedur sementara. Pengidentifikasi yang dimulai dengan tanda angka ganda (##) menunjukkan objek sementara global. Meskipun tanda angka atau karakter tanda nomor ganda dapat digunakan untuk memulai nama jenis objek lain, kami tidak merekomendasikan praktik ini.

      Beberapa fungsi Transact-SQL memiliki nama yang dimulai dengan tanda ganda (@@). Untuk menghindari kebingungan dengan fungsi-fungsi ini, Anda tidak boleh menggunakan nama yang dimulai dengan @@.

  2. Karakter berikutnya dapat mencakup yang berikut ini:

    • Huruf seperti yang didefinisikan dalam Unicode Standard 3.2.

    • Angka desimal dari Bahasa Latin Dasar atau skrip nasional lainnya.

    • Tanda at, tanda dolar ($), tanda pagar, atau garis bawah.

  3. Pengidentifikasi tidak boleh berupa kata Transact-SQL yang dicadangkan. SQL Server mencadangkan baik versi huruf besar maupun huruf kecil dari kata cadangan. Ketika pengidentifikasi digunakan dalam pernyataan Transact-SQL, pengidentifikasi yang tidak mematuhi aturan ini harus dibatasi oleh tanda kutip ganda atau tanda kurung. Kata-kata yang dicadangkan bergantung pada tingkat kompatibilitas database. Tingkat ini dapat diatur dengan menggunakan pernyataan ALTER DATABASE .

  4. Spasi yang disematkan atau karakter khusus tidak diperbolehkan.

  5. Karakter tambahan tidak diperbolehkan.

Ketika pengidentifikasi digunakan dalam pernyataan Transact-SQL, pengidentifikasi yang tidak mematuhi aturan ini harus dibatasi oleh tanda kutip ganda atau tanda kurung.

Nota

Beberapa aturan untuk format pengidentifikasi reguler bergantung pada tingkat kompatibilitas database. Tingkat ini dapat diatur dengan menggunakan ALTER DATABASE.

Lihat Juga

ALTER TABLE (Transact-SQL)
BUAT DATABASE (SQL Server Transact-SQL)
BUAT DEFAULT (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
CREATE RULE (Transact-SQL)
BUAT TABEL (Transact-SQL)
BUAT PEMICU (Transact-SQL)
CREATE VIEW (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
HAPUS (Transact-SQL)
INSERT (Transact-SQL)
Kata Kunci yang Dicadangkan (Transact-SQL)
SELECT (Transact-SQL)
UPDATE (Transact-SQL)