sp_addtype (T-SQL)
Berlaku untuk:SQL Server
Membuat jenis data alias.
Penting
Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Gunakan CREATE TYPE sebagai gantinya.
Sintaks
sp_addtype
[ @typename = ] N'typename'
, [ @phystype = ] N'phystype'
[ , [ @nulltype = ] 'nulltype' ]
[ , [ @owner = ] N'owner' ]
[ ; ]
Argumen
[ @typename = ] N'typename'
@typename adalah sysname, tanpa default.
Nama jenis data alias. Nama jenis data alias harus mengikuti aturan untuk pengidentifikasi dan harus unik di setiap database. jenisnya adalah sysname, tanpa default.
[ @phystype = ] N'phystype'
Fisik, atau SQL Server disediakan, jenis data tempat jenis data alias didasarkan. @phystype adalah sysname, tanpa default, dan dapat menjadi salah satu nilai ini:
- bigint, int, smallint, dan tinyint
- biner, varbinary(n), dan gambar
- bit
- char(n), nchar(n), varchar(n), nvarchar(n), **text, dan ntext
- datetime dan smalldatetime
- desimal, P) dan numerik, P
- float dan real
- uang dan smallmoney
- aql_variant
- pengidentifikasi unik
Tanda kutip diperlukan di sekitar semua parameter yang berisi spasi kosong atau tanda baca yang disematkan. Untuk informasi selengkapnya tentang jenis data yang tersedia, lihat Jenis Data (Transact-SQL).
n
Bilangan bulat non-negatif yang menunjukkan panjang untuk jenis data yang dipilih.
P
Bilangan bulat non-negatif yang menunjukkan jumlah total maksimum digit desimal yang dapat disimpan, baik di sebelah kiri maupun di sebelah kanan titik desimal. Untuk informasi selengkapnya, lihat desimal dan numerik (Transact-SQL).
s
Bilangan bulat non-negatif yang menunjukkan jumlah maksimum digit desimal yang dapat disimpan di sebelah kanan titik desimal, dan harus kurang dari atau sama dengan presisi. Untuk informasi selengkapnya, lihat desimal dan numerik (Transact-SQL).
[ @nulltype = ] 'nulltype'
Menunjukkan cara tipe data alias menangani nilai null. @nulltype adalah varchar(8), dengan default NULL
, dan harus diapit dalam tanda kutip tunggal ('NULL'
, 'NOT NULL'
, atau 'NONULL'
).
Jika @nulltype tidak ditentukan secara eksplisit, @nulltype diatur ke nullability default saat ini. GETANSINULL
Gunakan fungsi sistem untuk menentukan nullability default saat ini. Ini dapat disesuaikan dengan menggunakan SET
pernyataan atau ALTER DATABASE
. Nullability harus didefinisikan secara eksplisit. Jika @phystypebit, dan @nulltype tidak ditentukan, defaultnya adalah NOT NULL
.
Catatan
Parameter @nulltype hanya menentukan nullability default untuk jenis data ini. Jika nullability secara eksplisit didefinisikan ketika jenis data alias digunakan selama pembuatan tabel, diperlukan prioritas daripada nullability yang ditentukan. Untuk informasi selengkapnya, lihat ALTER TABLE (Transact-SQL) dan CREATE TABLE (Transact-SQL).
[ @owner = ] N'owner'
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Tataan hasil
Tidak ada.
Keterangan
Nama jenis data alias harus unik dalam database, tetapi jenis data alias dengan nama yang berbeda dapat memiliki definisi yang sama.
sp_addtype
Menjalankan membuat jenis data alias yang muncul dalam sys.types
tampilan katalog untuk database tertentu. Jika jenis data alias harus tersedia di semua database baru yang ditentukan pengguna, tambahkan ke model
. Setelah jenis data alias dibuat, Anda dapat menggunakannya di CREATE TABLE
atau ALTER TABLE
, dan juga mengikat default dan aturan ke jenis data alias. Semua jenis data alias skalar yang dibuat dengan menggunakan sp_addtype
terkandung dalam dbo
skema.
Jenis data alias mewarisi kolase default database. Kolase kolom dan variabel jenis alias ditentukan dalam pernyataan Transact-SQL CREATE TABLE
, ALTER TABLE
, dan DECLARE @<local_variable>
. Mengubah kolatasi default database hanya berlaku untuk kolom dan variabel baru dari jenis; itu tidak mengubah kolacek yang ada.
Penting
Untuk tujuan kompatibilitas mundur, peran database publik secara otomatis diberikan REFERENCES
izin pada jenis data alias yang dibuat dengan menggunakan sp_addtype
. Perhatikan ketika jenis data alias dibuat dengan menggunakan CREATE TYPE
pernyataan alih-alih , tidak ada pemberian sp_addtype
otomatis seperti itu yang terjadi.
Jenis data alias tidak dapat ditentukan dengan menggunakan jenis data tanda waktu, tabel, xml, varchar(maks) SQL Server, nvarchar(max), atau varbinary(max).
Izin
Memerlukan keanggotaan dalam peran database tetap db_owner atau db_ddladmin .
Contoh
J. Membuat tipe data alias yang tidak memungkinkan nilai null
Contoh berikut membuat jenis data alias bernama ssn
(nomor jaminan sosial) yang didasarkan pada jenis data varchar yang disediakan SQL Server. Jenis ssn
data digunakan untuk kolom yang menyimpan 11 digit nomor jaminan sosial (999-99-9999
). Kolom tidak boleh NULL
.
varchar(11)
diapit dalam tanda kutip tunggal karena berisi tanda baca (tanda kurung).
USE master;
GO
EXEC sp_addtype ssn, 'varchar(11)', 'NOT NULL';
GO
B. Membuat jenis data alias yang memungkinkan nilai null
Contoh berikut membuat jenis data alias (berdasarkan datetime
) bernama birthday
yang memungkinkan nilai null.
USE master;
GO
EXEC sp_addtype birthday, datetime, 'NULL';
C. Membuat jenis data alias tambahan
Contoh berikut membuat dua jenis data alias lagi, telephone
dan fax
, untuk nomor telepon dan faks domestik dan internasional.
USE master;
GO
EXEC sp_addtype telephone, 'varchar(24)', 'NOT NULL';
GO
EXEC sp_addtype fax, 'varchar(24)', 'NULL';
GO
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk