国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

在ERwin中建立域所涉及到的SQL2000的相關知識

2024-07-21 02:07:25
字體:
來源:轉載
供稿:網友


將規則/默認值綁定到用戶定義數據類型
使用此對話框查看或指定下列選項。

選項
規則

查看希望綁定到用戶定義的數據類型的規則名。當綁定到列或用戶定義數據類型時,規則將指定可以插入到列中的可接受的值。規則是一種向后兼容的功能,執行一些與檢查約束相同的功能。check 約束是使用 alter 或 create table 的 check 關鍵字創建的,是對列中的值進行限制的首選標準方法(可以對一列或多列定義多個約束)。列或用戶定義數據類型只能有一個綁定的規則。但是,列可以同時具有規則和一個或多個與其關聯的檢查約束。在這種情況下,將檢查所有限制。有關規則的更多信息,請參見 create rule。

規則
規則是一個向后兼容的功能,用于執行一些與 check 約束相同的功能。check 約束是用來限制列值的首選標準方法。check 約束比規則更簡明,一個列只能應用一個規則,但是卻可以應用多個 check 約束。check 約束作為 create table 語句的一部分進行指定,而規則以單獨的對象創建,然后綁定到列上。

下例創建一個規則,執行與前面主題中的 check 約束示例相同的功能。microsoft® sql server™ 2000 首選的方法是 check 約束。

create rule id_chk as @id between 0 and 10000
go
create table cust_sample
   (
   cust_id            int
   primary key,
   cust_name         char(50),
   cust_address         char(50),
   cust_credit_limit   money,
   )
go
sp_bindrule id_chk, 'cust_sample.cust_id'
go

名稱

查看用戶定義的數據類型的名稱和數據類型。通過選中"綁定"框選擇要綁定的每個規則。選擇"僅將來"框會防止現有用戶定義數據類型列繼承新規則。如果選定"僅將來"框,新規則將綁定到當前沒有規則或使用現有用戶定義數據類型規則的任何用戶定義數據類型列。有關綁定規則的更多信息,請參見 sp_bindrule。

一、create rule
創建稱為規則的對象。當綁定到列或用戶定義數據類型時,規則將指定可以插入到列中的可接受的值。規則是一種向后兼容的功能,執行一些與檢查約束相同的功能。check 約束是使用 alter 或 create table 的 check 關鍵字創建的,是對列中的值進行限制的首選標準方法(可以對一列或多列定義多個約束)。列或用戶定義數據類型只能有一個綁定的規則。但是,列可以同時具有規則和一個或多個與其關聯的檢查約束。在這種情況下,將檢查所有限制。

語法
create rule rule
    as condition_expression

參數
rule

是新規則的名稱。規則名稱必須符合標識符規則。可以選擇是否指定規則所有者的名稱。

condition_expression

是定義規則的條件。規則可以是 where 子句中任何有效的表達式,并且可以包含諸如算術運算符、關系運算符和謂詞(如 in、like、between)之類的元素。規則不能引用列或其它數據庫對象。可以包含不引用數據庫對象的內置函數。

condition_expression 包含一個變量。每個局部變量的前面都有一個 @ 符號。該表達式引用通過 update 或 insert 語句輸入的值。在創建規則時,可以使用任何名稱或符號表示值,但第一個字符必須是 @ 符號。

注釋
在單個批處理中,create rule 語句不能與其它 transact-sql 語句組合使用。規則不適用于在創建規則時已存在于數據庫中的數據,而且規則不能綁定到系統數據類型。規則只能在當前的數據庫中創建。創建規則后,執行 sp_bindrule 可將規則綁定到列或用戶定義數據類型。

規則必須與列的數據類型兼容。規則不能綁定到 text、image 或 timestamp 列。一定要用單引號 (') 將字符和日期常量引起來,在二進制常量前加 0x。例如,不能將 "@value like a%" 用作數字列的規則。如果規則與其所綁定的列不兼容,microsoft® sql server™ 將在插入值時(而不是在綁定規則時)返回錯誤信息。

對于用戶定義數據類型,只有嘗試在該類型的數據庫列中插入值,或更新該類型的數據庫列時,綁定到該類型的規則才會激活。因為規則不檢驗變量,所以在向用戶定義數據類型的變量賦值時,不要賦予綁定到該數據類型的列的規則所拒絕的值。

若要獲得關于規則的報表,請使用 sp_help。若要顯示某條規則的文本,請以該規則的名稱作為參數來執行存儲過程 sp_helptext。若要重命名規則,請使用 sp_rename。

要創建與原有規則同名的新規則,必須在創建新規則之前將原有規則除去(使用 drop rule),而在除去規則之前,必須首先解除綁定(使用 sp_unbindrule)。使用 sp_unbindrule 解除規則與列的綁定。

可以在不解除原有綁定的情況下將新規則綁定到列或數據類型;新規則將替代原有規則。綁定到列的規則總是優先于綁定到用戶定義數據類型的規則。將規則綁定到列時,該規則將替換已經綁定到該列的用戶定義數據類型的規則。但是,將規則綁定到用戶定義數據類型時,該規則不會替換綁定到該數據類型的列的規則。下表顯示了當將規則綁定到已經存在規則的列和用戶定義數據類型時,規則生效的優先順序。

  舊規則綁定到
新規則綁定到 用戶定義數據類型 列
用戶定義數據類型 舊規則被替換 沒有變化
列 舊規則被替換 舊規則被替換


如果列同時有默認值和規則與之關聯,則默認值必須滿足規則的定義。與規則沖突的默認值永遠不能插入列。每次試圖插入這樣的默認值時,sql server 都會生成錯誤信息。


 
說明  sql server 是將空字符串解釋為單個空格還是真正的空字符串取決于 sp_dbcmptlevel 的設置。如果兼容級別小于或等于 65,sql server 就將空字符串解釋為單個空格。如果兼容級別等于 70,則 sql server 將空字符串解釋為空字符串。有關更多信息,請參見 sp_dbcmptlevel。


權限
create rule 權限默認授予 sysadmin 固定服務器角色成員和 db_ddladmin 和 db_owner 固定數據庫角色成員。sysadmin、db_owner 和 db_securityadmin 角色的成員可以將權限轉讓給其他用戶。

示例
a. 范圍規則
下例創建一個規則,用以限制插入該規則所綁定的列中的整數范圍。

create rule range_rule
as
@range >= $1000 and @range < $20000

b. 列表規則
下例創建一個規則,用以將輸入到該規則所綁定的列中的實際值限制為只能是該規則中列出的值。

create rule list_rule
as
@list in ('1389', '0736', '0877')

c. 模式規則
下例創建一個遵循這種模式的規則:任意兩個字符的后面跟一個連字符和任意多個字符(或沒有字符),并以 0 到 9 之間的整數結尾。

create rule pattern_rule
as
@value like '_ _-%[0-9]'
二、drop rule從當前數據庫中刪除一個或多個用戶定義的規則。語法drop rule { rule } [ ,...n ]參數rule是要刪除的規則。規則名稱必須符合標識符規則。有關標識符規則的更多信息,請參見使用標識符。可以選擇是否指定規則所有者的名稱。n是表示可以指定多個規則的占位符。注釋如果規則當前綁定到列或用戶定義的數據類型,若要除去規則,首先需解除綁定。使用 sp_unbindrule 解除綁定規則。如果在試圖除去規則時規則是綁定的,將顯示錯誤信息并取消 drop rule 語句。除去規則后,可以在以前受規則約束的列中輸入新數據而不受規則的約束。現有數據不受任何影響。 drop rule 語句不適用于 check 約束。有關除去 check 約束的更多信息,請參見本卷中的"alter table"。權限默認情況下,將 drop rule 權限授予規則所有者,該權限不可轉讓。然而,db_owner 和 db_ddladmin 固定數據庫角色成員和 sysadmin 固定服務器角色成員可以通過在 drop rule 內指定所有者除去任何對象。示例下例解除綁定名為 pub_id_rule 的規則并將其除去。use pubs
if exists (select name from sysobjects
         where name = 'pub_id_rule'
            and type = 'r')
   begin
      exec sp_unbindrule 'publishers.pub_id'
      drop rule pub_id_rule
   end
go


三、create default創建稱為默認值的對象。當綁定到列或用戶定義數據類型時,如果插入時沒有明確提供值,默認值便指定一個值,并將其插入到對象所綁定的列中(或者,在用戶定義數據類型的情況下,插入到所有列中)。默認值是一個向后兼容的功能,它執行一些與使用 alter 或 create table 語句的 default 關鍵字創建的默認值定義相同的功能。默認值定義是限制列數據的首選并且標準的方法,因為定義和表存儲在一起,當除去表時,將自動除去默認值定義。然而,當在多個列中多次使用默認值時,默認值也有其優點。語法create default default    as constant_expression參數default默認值的名稱。默認值名稱必須符合標識符的規則。可以選擇是否指定默認值所有者名稱。constant_expression只包含常量值的表達式(不能包含任何列或其它數據庫對象的名稱)。可以使用任何常量、內置函數或數學表達式。字符和日期常量用單引號 (') 引起來;貨幣、整數和浮點常量不需要使用引號。二進制數據必須以 0x 開頭,貨幣數據必須以美元符號 ($) 開頭。默認值必須與列數據類型兼容。注釋只能在當前數據庫中創建默認值的名稱。在數據庫中,每個所有者的各默認值名稱必須是唯一的。創建默認值后,使用 sp_bindefault 將其綁定到列或用戶定義數據類型。如果默認值和其綁定到的列不兼容,則在嘗試插入默認值時,microsoft® sql server™ 會生成錯誤信息。例如,n/a 不能用作 numeric 列的默認值。如果默認值對于它所綁定的列而言太長,該值就會被截斷。在單個批處理中,create default 語句不能與其它 transact-sql 語句組合使用。在以相同的名稱創建新的默認值之前,必須除去原有的默認值,在除去前,必須通過執行 sp_unbindefault 來取消對該默認值的綁定。如果列同時有默認值和規則與之關聯,則默認值不能違反規則。與規則沖突的默認值將永遠不能插入列,每次試圖插入這樣的默認值時,sql server 都會生成錯誤信息。當綁定到列以后,在以下情況下將插入默認值: 非顯式地插入值。在 insert 中使用 default values 或 default 關鍵字來插入默認值。 如果在創建列時指定 not null 并且沒有為其創建默認值,則當用戶未能為該列輸入項時,就會生成錯誤信息。下表說明默認值的存在性與將列定義為 null 或 not null 之間的關系。表中的條目顯示了結果。列定義 沒有輸入項,沒有默認值 沒有輸入項,有默認值 輸入 null,沒有默認值 輸入 null,有默認值 null null default null null not null error default error error  說明  sql server 是將空字符串解釋為單個空格還是解釋為真正的空字符串,由 sp_dbcmptlevel 的設置控制。如果兼容級別小于或等于 65,sql server 就將空字符串解釋為單個空格。如果兼容級別等于 70,則 sql server 將空字符串解釋為空字符串。有關更多信息,請參見 sp_dbcmptlevel。若要重命名默認值,請使用 sp_rename。若要獲得默認值的報表,請使用 sp_help。權限create default 的權限默認授予 sysadmin 固定服務器角色成員和 db_owner 和 db_ddladmin 固定數據庫角色成員。sysadmin、db_owner 和 db_securityadmin 角色的成員可以將權限轉讓給其他用戶。示例a.創建簡單的字符默認值下面的示例創建字符默認值 unknown。use pubs
go
create default phonedflt as 'unknown'
b.綁定默認值下面的示例綁定示例 a 中創建的默認值。只有當 authors 表的 phone 列沒有輸入項時,該默認值才起作用。請注意,沒有輸入項和顯式指定空值不同。因為名為 phonedflt 的默認值不存在,所以下列 transact-sql 語句將失敗。本例只用于演示。use pubs
go
sp_bindefault phonedflt, 'authors.phone'
四、drop default從當前數據庫中刪除一個或多個用戶定義的默認值。 drop default 語句不適用于 default 約束。有關除去 default 約束(通過使用 create table 或 alter table 語句的 default 選項所創建)的更多信息,請參見本卷中的"alter table"。語法drop default { default } [ ,...n ]參數default是現有默認值的名稱。若要查看現有默認值的列表,請執行 sp_help。默認值必須符合標識符規則。有關更多信息,請參見使用標識符。可以選擇是否指定默認值所有者名稱。n是表示可以指定多個默認值的占位符。注釋除去默認之前,通過執行 sp_unbindefault 解除綁定默認值(如果默認值當前綁定到列或用戶定義的數據類型)。從允許空值的列中除去默認值后,當添加行且沒有顯式提供值時,將在那個位置插入 null。從 not null 列中除去默認值后,當添加行且沒有顯式提供值時,將返回錯誤信息。這些行以后作為標準 insert 語句行為的一部分添加。權限默認情況下,將 drop default 權限授予默認值所有者,該權限不可轉讓。然而,db_owner 和 db_ddladmin 固定數據庫角色成員以及 sysadmin 固定服務器角色成員可以通過在 drop default 中指定所有者除去任何默認對象。示例a. 除去默認值如果默認值沒有綁定到列或用戶定義的數據類型,可以很容易地使用 drop default 將其除去。下例刪除用戶創建的名為 datedflt 的默認值。use pubs
if exists (select name from sysobjects
         where name = 'datedflt'
            and type = 'd')
   drop default datedflt
go
b. 除去綁定到列的默認值下例解除綁定與 authors 表的 phone 列關聯的默認值,然后除去名為 phonedflt 的默認值。use pubs
if exists (select name from sysobjects
         where name = 'phonedflt'
            and type = 'd')
   begin
      exec sp_unbindefault 'authors.phone'
      drop default phonedflt
   end
gosp_bindrule將規則綁定到列或用戶定義的數據類型。語法sp_bindrule [ @rulename = ] 'rule' ,    [ @objname = ] 'object_name'    [ , [ @futureonly = ] 'futureonly_flag' ]參數[@rulename =] 'rule'由 create rule 語句創建的規則名稱。rule 的數據類型為 nvarchar(776),無默認值。[@objname =] 'object_name'綁定了規則的表和列或用戶定義的數據類型。object_name 的數據類型為 nvarchar(517),無默認值。如果 object_name 沒有采取 table.column 格式,則認為它屬于用戶定義數據類型。默認情況下,用戶定義的數據類型的現有列繼承 rule,除非直接在列上綁定了規則。 說明  object_name 中可以含有 [ and ] 字符作為分隔標識符。有關更多信息,請參見分隔標識符。 [@futureonly =] 'futureonly_flag'僅當將規則綁定到用戶定義的數據類型時才使用。future_only_flag 的數據類型為 varchar(15),默認值為 null。將此參數在設置為 futureonly 時,它會防止用戶定義數據類型的現有列繼承新規則。如果 futureonly_flag 為 null,那么新規則將綁定到用戶定義數據類型的每一列,條件是此數據類型當前無規則或者使用用戶定義數據類型的現有規則。 返回代碼值0(成功)或 1(失敗)注釋可以使用 sp_bindrule 在不取消綁定現有規則的情況下,將新規則綁定到列(盡管最好使用 check 約束)或者用戶定義的數據類型。替代原有規則。如果使用現有 check 約束將規則綁定到列,那么將評估所有限制。不能將規則綁定到 microsoft® sql server™ 數據類型。當試圖執行 insert 語句時(不是在綁定時),將強行執行規則。盡管此處 insert 非法,仍然可以將字符規則綁定到 numeric 數據類型的列。除非將 futureonly_flag 指定為 futureonly,否則用戶定義數據類型的現有列將繼承新規則。使用用戶定義數據類型定義的新列始終繼承規則。但是,如果 alter table 語句的 alter column 子句將列的數據類型更改為綁定規則的用戶定義數據類型,那么列不會繼承與數據類型綁定的規則。必須使用 sp_bindrule 專門將規則綁定到列。將規則綁定到列時,相關信息將添加到 syscolumns 表中。將規則綁定到用戶定義的數據類型時,相關信息將添加到 systypes 表中。權限只有 sysadmin 固定服務器角色、db_owner 和 db_ddladmin 固定數據庫角色成員及表所有者才能執行 sp_bindrule。示例a. 將規則綁定到列假設已經用 create rule 語句在當前數據庫中創建名為 today 的規則,此示例將規則綁定到 employees 表的 hire date 列。將行添加到 employees 時,按照 today 規則檢查 hire date 列的數據。use master
exec sp_bindrule 'today', 'employees.[hire date]'
b. 將規則綁定到用戶定義的數據類型假設存在名為 rule_ssn 的規則和名為 ssn 的用戶定義數據類型,此示例將 rule_ssn 綁定到 ssn。在 create table 語句中,類型 ssn 的列繼承 rule_ssn 規則。類型 ssn 的現有列也繼承 rule_ssn 規則,除非為 futureonly_flag 指定了 futureonly 或者在 ssn 上直接綁定了規則。綁定到列的規則始終優先于綁定到數據類型的規則。use master
exec sp_bindrule 'rule_ssn', 'ssn'
c. 使用 futureonly_flag此示例將 rule_ssn 規則綁定到用戶定義數據類型 ssn。因為已指定 futureonly,所以不影響類型 ssn 的現有列。use master
exec sp_bindrule 'rule_ssn', 'ssn', 'futureonly'
d. 使用分隔標識符此示例顯示了在 object_name 中分隔標識符的使用。use master
create table [t.2] (c1 int)
-- notice the period as part of the table name.
exec sp_binderule rule1, '[t.2].c1'
-- the object contains two periods;
-- the first is part of the table name
-- and the second distinguishes the table name from the column name.

六、sp_unbindrule
在當前數據庫中為列或用戶定義數據類型解除規則綁定。

語法
sp_unbindrule [@objname =] 'object_name'
    [, [@futureonly =] 'futureonly_flag']

參數
[@objname =] 'object_name'

是要解除規則綁定的表和列或者用戶定義數據類型的名稱。object_name 的數據類型為 nvarchar(776),無默認值。如果參數不是 table.column 的形式,則假定 object_name 為用戶定義數據類型。當為用戶定義數據類型解除規則綁定時,所有屬于該數據類型并具有相同規則的列也同時解除規則綁定。對屬于該數據類型的列,如果其規則直接綁定到列上,則該列不受影響。

 

說明  object_name 中可以含有 [ and ] 字符作為分隔標識符。有關更多信息,請參見分隔標識符。


[@futureonly =] 'futureonly_flag'

僅用于解除用戶定義數據類型規則的綁定。futureonly_flag 的數據類型為 varchar(15),其默認值為 null。當參數 futureonly_flag 為 futureonly 時,現有的屬于該數據類型的列不會失去指定規則。

返回代碼值
0(成功)或 1(失敗)

注釋
若要顯示某條規則的文本,請以該規則的名稱作為參數來執行存儲過程 sp_helptext。

解除規則綁定時,如果規則綁定到列,則綁定信息從表 syscolumns 中刪除。如果規則綁定到用戶定義數據類型,則綁定信息從表 systypes 中刪除。

當從用戶定義數據類型解除規則綁定時,任何具有該用戶定義數據類型的列也同時解除該規則的綁定。對于后來用 alter table 語句的 alter column 子句更改了數據類型的列,該規則仍可能綁定在該列上,必須使用存儲過程 sp_unbindrule(并指定列名)明確地從這些列中解除規則綁定。

權限
只有 sysadmin 固定服務器角色、db_owner 和 db_ddladmin 固定數據庫角色的成員以及表所有者才能執行 sp_unbindrule。

示例
a. 為列解除規則綁定
下例為表 employees 的 startdate 列解除規則綁定。

exec sp_unbindrule 'employees.startdate'

b. 為用戶定義數據類型解除規則綁定
下例為用戶定義數據類型 ssn 解除規則綁定。這將為該數據類型的現有列和將來的列解除規則綁定。

exec sp_unbindrule ssn

c. 使用 futureonly_flag
下例為用戶定義數據類型 ssn 的解除規則綁定,現有的 ssn 列不受影響。

exec sp_unbindrule 'ssn', 'futureonly'

d. 使用分隔標識符
下例顯示了在 object_name 中定界標識符的使用。

create table [t.4] (c1 int) -- notice the period as part of the table
-- name.
go
create rule rule2 as @value > 100
go
exec sp_bindrule rule2, '[t.4].c1' -- the object contains two
-- periods; the first is part of the table name and the second
-- distinguishes the table name from the column name.
go
exec sp_unbindrule '[t.4].c1'

七、sp_addtype
創建用戶定義的數據類型。

語法
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™ 提供的數據類型(decimal、int 等等)。system_data_type 的數據類型是 sysname,沒有默認值,可能是這些值之一:

'binary( n )' image smalldatetime
bit int smallint
'char( n )' 'nchar( n )' text
datetime ntext tinyint
decimal numeric uniqueidentifier
'decimal[ ( p [, s ] ) ]' 'numeric[ ( p [ , s ] ) ]' 'varbinary( n )'
float 'nvarchar( n )' 'varchar( n )'
'float( n )' real  


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

n
非負整數,指明所選數據類型的長度。

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

s
非負整數,指明小數點右邊的小數數字可保留的最大十進制位數,它必須小于或等于精度值。有關更多信息,請參見本卷中的"decimal 和 numeric"。
[@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 server timestamp 數據類型來定義用戶定義的數據類型。

權限
執行權限默認授予 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. 創建另外的用戶定義的數據類型
下面的示例為國內及國際電話和傳真號碼另外創建兩個用戶定義的數據類型 telephone 和 fax。

use master
exec sp_addtype telephone, 'varchar(24)', 'not null'
exec sp_addtype fax, 'varchar(24)', 'null'

八、sp_droptype
從 systypes 刪除用戶定義的數據類型。

語法
sp_droptype [ @typename = ] 'type'

參數
[@typename =] 'type'

您所擁有的用戶定義數據類型的名稱。type 的數據類型為 sysname,沒有默認值。

返回代碼類型
0(成功)或 1(失敗)

結果集


注釋
如果表或其它數據庫對象引用 type 用戶定義數據類型,那么就不能除去這種數據類型。

 

說明  如果在表定義內使用某個用戶定義的數據類型,或者將某個規則或默認值綁定到這種數據類型,那么就不能除去它。


權限
執行權限默認授予 sysadmin 固定服務器角色、db_ddladmin 和 db_owner 固定數據庫角色成員以及數據類型所有者。

示例
下面的示例除去用戶定義的數據類型 birthday。

 

說明  該用戶定義的數據類型必須已經存在,否則下面的示例會返回一條錯誤信息。


use master
exec sp_droptype 'birthday'
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佳木斯市| 大庆市| 营山县| 普兰店市| 旺苍县| 梓潼县| 九龙县| 镇康县| 黔西县| 民和| 武安市| 湘乡市| 察隅县| 于田县| 两当县| 平定县| 琼中| 马关县| 兴宁市| 青冈县| 宁强县| 安平县| 博客| 苍溪县| 鄂托克前旗| 桑植县| 永修县| 德庆县| 东辽县| 枞阳县| 九江市| 旺苍县| 碌曲县| 甘南县| 桑植县| 泰兴市| 嵩明县| 黎城县| 宜丰县| 剑川县| 彭阳县|