User-defined datatype

Một phần của tài liệu Bài giảng SQL SERVER tin chi) (Trang 39)

Người sử dụng có thể dựa yêu cầu cần lưu trữ và các kiểu dữ liệu c ơ bản để định nghĩa ra một kiểu dữ liệu của người dùng dùng để lưu trữ một dữ liệu đặc biệt nào đó. SQL Sever cho phép bạn cải tiến các kiểu dữ liệu để đảm bảo tính nhất quán khi làm việc trong môi trường dữ liệu đa dạng trong các bảng hay các CSDL khác nhau.

 User-defined data type không cho phép bạn định nghĩa các kiểu dữ liệu phức hoặc có cấu trúc.

 Mỗi một User-defined data type có thể được định nghĩa riêng cho một CSDL hoặc cho toàn bộ các CSDL. Nếu User-defined data type được định nghĩa trong CSDL Master thì nó được dùng chung cho toàn bộ các CSDL.

 Các User-defined data type mà bạn tạo trong CSDL model thì sẽ có trong tất cả các CSDL mới tạo một cách tự động.

 Mỗi user-defined data type được lưu thành một mẫu tin trong bảngsystypes.

 Bạn có thể tạo và xóa user-defined data type bằng các thủ tục hệ thống. Tên của kiểu dữ liệu phải tuân thủ qui tắt định danh và phải là duy nhất trong mỗi CSDL. Định nghĩa mỗi user-defined data type trong giới hạn của các kiểu dữ liệu cơ bản. Phải chỉ định mặc định là chấp nhận giá trị NULL hay NOT NULL khi đối tượng không có giá trị.

Tạo một User-Defined Data Type

Dùng thủ tục hệ thống sp_addtypeđể tạo một user-defined data type.

sp_addtypetype,system_data_type [,'NULL' | 'NOT NULL']

Ví dụ 1: Tạo kiểu dữ liệu tên là isbn với kiểu dữ liệu cơ bản là smallint và không chấp nhận giá trị Null

EXEC sp_addtype isbn, ‘smallint’, NOT NULL

Ví dụ 2: Tạo kiểu dữ liệu tên là zipcode với kiểu dữ liệu cơ bản là char,độ dài tối đa là 10 và chấp nhận giá trị Null

Ví dụ 3: Tạo kiểu dữ liệu tên làlongstring với kiểu dữ liệu cơ bản là varchar,độ dài tối đa là 63 vàchấp nhận giá trị Null

EXEC sp_addtype longstring, 'varchar(63)', NULL

Xoá một User-Defined Data Type: dùng thủ tục hệ thống sp_droptype để xóa một

user-defined data type từ bảng systypes. Một user-defined data type không thể xóa được nếu nó được tham chiếu bởi các bảng và những đối tượng khác.

Sp_droptypetype

Ví dụ:

EXEC sp_droptype isbn

Xem các user-defined data types trong CSDL hiện hành: dùng thủ tục sp_help

hoặc truy vấn trong information_schema.domains Ví dụ:

Use SalesDB Sp_help hoặc

SELECT domain_name, data_type, character_maximum_length

FROM information_schema.domains ORDER BY domain_name

Một phần của tài liệu Bài giảng SQL SERVER tin chi) (Trang 39)

Tải bản đầy đủ (PDF)

(99 trang)