Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ganti nama Tipe Data Buatan Pengguna di SQL Server (T-SQL)

Di SQL Server, Anda dapat menggunakan sp_rename prosedur tersimpan untuk mengganti nama objek yang dibuat pengguna dalam database saat ini, termasuk tipe data yang ditentukan pengguna.

Sintaks

Sintaksnya seperti ini:

EXEC sp_rename 'old_datatype', 'new_datatype', 'USERDATATYPE';

Dimana old_datatype adalah nama tipe data yang ditentukan pengguna yang ingin Anda ganti namanya, dan new_datatype adalah nama baru yang ingin Anda berikan.

Contoh

Mari kita lihat tipe data yang ditentukan pengguna saat ini di database kita.

SELECT 
  name,
  max_length,
  [precision],
  scale,
  is_user_defined
FROM sys.types
WHERE is_user_defined = 1;

Hasil:

 +----------+--------------+-------------+---------+-------------------+
 | name     | max_length   | precision   | scale   | is_user_defined   |
 |----------+--------------+-------------+---------+-------------------|
 | clientid | 8            | 0           | 0       | 1                 |
 +----------+--------------+-------------+---------+-------------------+ 

Kami memiliki satu tipe data yang ditentukan pengguna yang disebut clientid .

Mari kita ganti namanya menjadi clientcode .

EXEC sp_rename 'clientid', 'clientcode', 'USERDATATYPE';

Menjalankan yang mengubah namanya menjadi clientcode . Anda mungkin melihat pesan berikut:

Caution: Changing any part of an object name could break scripts and stored procedures.

Ini pada dasarnya memberi tahu kita bahwa jika kita memiliki skrip prosedur tersimpan yang mereferensikan objek yang diganti namanya, maka skrip tersebut akan rusak, dan kita perlu memperbaruinya.

Anda mungkin bertanya-tanya apakah ini berarti kolom yang ada yang menggunakan tipe data ini sekarang akan rusak?

Untungnya, kolom yang ada seharusnya baik-baik saja.

Setelah mengganti nama tipe data yang ditentukan pengguna, kolom apa pun yang menggunakan tipe data tersebut akan terus menggunakan tipe data tersebut dengan nama barunya. Pembatasan jenis data apa pun (seperti panjang, dll) terus diterapkan.

Sekarang mari kita periksa lagi daftar tipe data yang ditentukan pengguna:

SELECT 
  name,
  max_length,
  [precision],
  scale,
  is_user_defined
FROM sys.types
WHERE is_user_defined = 1;

Hasil:

+------------+--------------+-------------+---------+-------------------+
 | name       | max_length   | precision   | scale   | is_user_defined   |
 |------------+--------------+-------------+---------+-------------------|
 | clientcode | 8            | 0           | 0       | 1                 |
 +------------+--------------+-------------+---------+-------------------+ 

Seperti yang diharapkan, itu telah diganti namanya seperti yang ditentukan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan daftar tanggal antara dua tanggal menggunakan fungsi

  2. SQL Server memeriksa sensitivitas huruf besar-kecil?

  3. Hitung hash MD5 dari string UTF8

  4. Demystifying CXPACKET dan CXCONSUMER menunggu jenis di SQL Server

  5. SQL Server DELETE – Menghapus Satu atau Lebih Baris dari Tabel dengan Skenario Sedikit Lanjut