關於sp addtype T SQL參考

2021-06-03 16:43:20 字數 4252 閱讀 7812

transact-sql 參考

建立使用者定義的資料型別。

語法sp_addtype[@typename =] type,

[@phystype =]system_data_type

[,[@nulltype =]'null_type']

[,[@owner =]'owner_name']

引數[@typename =] type

使用者定義的資料型別的名稱。資料型別名稱必須遵照識別符號的規則,而且在每個資料庫中必須是唯一的。type 的資料型別為sysname,沒有預設值。

[@phystype =]system_data_type

是使用者定義的資料型別所基於的物理資料型別或 microsoft® sql server™ 提供的資料型別(decimalint等等)。system_data_type 的資料型別是sysname,沒有預設值,可能是這些值之一:

'binary(n)'imagesmalldatetime

bitintsmallint

'char(n)''nchar(n)'text

datetimentexttinyint

decimalnumericuniqueidentifier

'decimal[(p [,s ])]''numeric[(p [,s ])]''varbinary(n)'

float'nvarchar(n)''varchar(n)'

'float(n)'real

如果引數中嵌入有空格或標點符號,則必須用引號將該引數引起來。有關可用的資料型別的更多資訊,請參見資料型別。

n非負整數,指明所選資料型別的長度。

p非負整數,指明可保留的最大十進位制位數,包括小數點左邊和右邊的數字。有關更多資訊,請參見

decimal 和 numeric。

s非負整數,指明小數點右邊的小數數字可保留的最大十進位制位數,它必須小於或等於精度值。有關更多資訊,請參見本卷中的"decimalnumeric"。

[@nulltype =]'null_type'

指明使用者定義的資料型別處理空值的方式。null_type 的資料型別為varchar(8),預設值為 null,並且必須用單引號引起來('null'、'not null' 或 'nonull')。如果沒有用sp_addtype顯式定義 null_type,則將其設定為當前預設的為空性。使用 getansinull 系統函式可確定當前預設的為空性,可以使用 set 語句或sp_dboption對該為空性進行調整。應顯式定義為空性。

說明null_type 引數只為該資料型別定義預設的為空性。如果在建立表的過程中使用使用者定義的資料型別時顯式地定義了為空性,那麼該為空性優先於已定義好的為空性。有關更多資訊,請參見 alter table 和 create table。

[@owner =]'owner_name'

指定新資料型別的建立者或所有者。owner_name 的資料型別為sysname。當沒有指定時,owner_name 為當前使用者。

返回**值

0(成功)或 1(失敗)

結果集無

注釋使用者定義的資料型別名稱在資料庫中必須是唯一的,但是名稱不同的使用者定義的資料型別可以有相同的定義。

除非將master作為當前資料庫來執行sp_addtype,否則,執行sp_addtype會建立使用者定義的資料型別,並且將其新增到某個特定資料庫的systypes系統表中。如果想在所有新的使用者定義的資料庫中都可以使用這一使用者定義的資料型別,請將其新增到model。在建立了使用者資料型別之後,可以在 create table 或 alter table 中使用它,也可以將預設值和規則繫結到使用者定義的資料型別。

不能使用 sql servertimestamp資料型別來定義使用者定義的資料型別。

許可權執行許可權預設授予public角色。

示例a. 建立不允許空值的使用者定義資料型別

下面的示例建立乙個名為ssn(社會保險號)的使用者定義資料型別,它基於 sql server 提供的varchar資料型別。ssn資料型別用於那些儲存 11 位數字的社會保險號 (999-99-9999) 的列。該列不能為 null。

請注意,varchar(11)由單引號引了起來,這是因為它包含了標點符號(圓括號)。

use master

exec sp_addtype ssn, 'varchar(11)', 'not null'

b. 建立允許空值的使用者定義資料型別

下面的示例建立了乙個名為birthday的使用者定義資料型別(基於datetime),該資料型別允許空值。

use master

exec sp_addtype birthday, datetime, 'null'

c. 建立另外的使用者定義的資料型別

下面的示例為國內及國際**和傳真號碼另外建立兩個使用者定義的資料型別telephonefax

use master

exec sp_addtype telephone, 'varchar(24)', 'not null'

exec sp_addtype fax, 'varchar(24)', 'null'

請參見

create default

create rule

sp_bindefault

sp_bindrule

sp_droptype

sp_rename

sp_unbindefault

sp_unbindrule

系統儲存過程

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...