程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server數據庫技術(44)

SQL Server數據庫技術(44)

編輯:關於SqlServer

除了使用系統提供的數據類型外,用戶還可以根據需要用自定義的數據類型來定義表的列或聲明變量。

7.3.1 用Enterprise Manager 創建用戶自定義數據類型
用Enterprise Manager 創建用戶自定義數據類型的方法是:在Enterprise Manager 中選擇要創建用戶自定義類型的數據庫,在數據庫對象“User Defined Data Types”上單擊右鍵,從開始菜單中選擇“New User Defined Data Type”選項,就會出現如圖7-3 所示的定義用戶自定義數據類型屬性對話框。可以在其中指定要定義的數據類型的名稱、繼承的系統數據類型、是否允許NULL 值等屬性。單擊“確定”按鈕,則添加用戶自定義數據類型對象到數據庫中。
SQL Server數據庫技術(44)(圖一)

7.3.2 用系統存儲過程Sp_addtype 創建用戶自定義數據類型
系統存儲過程為用戶提供了命令方式創建自定義數據類型的途徑。其語法如下:
sp_addtype [@typename =] type,
[@phystype =] system_data_type
[, [@nulltype =] 'null_type']
[ , [ @owner = ] 'owner_name' ]
各參數說明如下:

  • [@typename =] type
    指定用戶定義的數據類型的名稱。
  • [@phystype =] system_data_type
    指定相應的系統提供的數據類型的名稱及定義。不能使用TIMESTAMP 數據類型。當所使用的系統數據類型有額外說明時,需用引號將其括起來,如:‘CHAR(8)’。
  • [@nulltype =] ‘null_type’
    指定用戶自定義的數據類型的NULL 屬性,其值可為‘NULL’ ‘NOT NULL’或 ‘NONULL’。缺省時與系統默認的NULL 屬性相同。
  • [ @owner = ] 'owner_name' ]
    指定用戶自定義的數據類型的所有者。
    用戶自定義的數據類型的名稱在數據庫中應是惟一的,但不同名稱的用戶自定義數據類型可以有相同的類型定義。在使用CREATE TABLE 命令時,用戶自定義數據類型的 NULL 屬性可以被改變,但其長度定義不能更改。
例7-9: 定義生日數據類型。
exec sp_addtype birthday, datetime, 'not null'
運行結果如下:
(1 row(s) affected)
Type added.
例7-10:定義SFZ號碼數據類型。
exec sp_addtype cardid, 'char(18)', 'not null'
運行結果如下:
(1 row(s) affected)
Type added.
例7-11: 定義地址數據類型。
exec sp_addtype address, 'varchar(100)', 'not null'
運行結果如下:
(1 row(s) affected)
Type added.

7.3.3 刪除用戶自定義數據類型
可以在Enterprise Manager 中選擇用戶自定義類型後,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved