亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >CREATE DEFAULT 創(chuàng)建者:webmaster 更新時(shí)間:2006-02-16 15:51

    創(chuàng)建稱為默認(rèn)值的對(duì)象。當(dāng)綁定到列或用戶定義數(shù)據(jù)類型時(shí),如果插入時(shí)沒有明確提供值,默認(rèn)值便指定一個(gè)值,并將其插入到對(duì)象所綁定的列中(或者,在用戶定義數(shù)據(jù)類型的情況下,插入到所有列中)。默認(rèn)值是一個(gè)向后兼容的功能,它執(zhí)行一些與使用 ALTER 或 CREATE TABLE 語句的 DEFAULT 關(guān)鍵字創(chuàng)建的默認(rèn)值定義相同的功能。默認(rèn)值定義是限制列數(shù)據(jù)的首選并且標(biāo)準(zhǔn)的方法,因?yàn)槎x和表存儲(chǔ)在一起,當(dāng)除去表時(shí),將自動(dòng)除去默認(rèn)值定義。然而,當(dāng)在多個(gè)列中多次使用默認(rèn)值時(shí),默認(rèn)值也有其優(yōu)點(diǎn)。



    語法


    CREATE DEFAULT default

        AS constant_expression



    參數(shù)


    default



    默認(rèn)值的名稱。默認(rèn)值名稱必須符合標(biāo)識(shí)符的規(guī)則。可以選擇是否指定默認(rèn)值所有者名稱。



    constant_expression



    只包含常量值的表達(dá)式(不能包含任何列或其它數(shù)據(jù)庫對(duì)象的名稱)。可以使用任何常量、內(nèi)置函數(shù)或數(shù)學(xué)表達(dá)式。字符和日期常量用單引號(hào) (') 引起來;貨幣、整數(shù)和浮點(diǎn)常量不需要使用引號(hào)。二進(jìn)制數(shù)據(jù)必須以 0x 開頭,貨幣數(shù)據(jù)必須以美元符號(hào) ($) 開頭。默認(rèn)值必須與列數(shù)據(jù)類型兼容。



    注釋


    只能在當(dāng)前數(shù)據(jù)庫中創(chuàng)建默認(rèn)值的名稱。在數(shù)據(jù)庫中,每個(gè)所有者的各默認(rèn)值名稱必須是唯一的。創(chuàng)建默認(rèn)值后,使用 sp_bindefault 將其綁定到列或用戶定義數(shù)據(jù)類型。



    如果默認(rèn)值和其綁定到的列不兼容,則在嘗試插入默認(rèn)值時(shí),Microsoft® SQL Server™ 會(huì)生成錯(cuò)誤信息。例如,N/A 不能用作 numeric 列的默認(rèn)值。



    如果默認(rèn)值對(duì)于它所綁定的列而言太長(zhǎng),該值就會(huì)被截?cái)唷?/P>

    在單個(gè)批處理中,CREATE DEFAULT 語句不能與其它 Transact-SQL 語句組合使用。



    在以相同的名稱創(chuàng)建新的默認(rèn)值之前,必須除去原有的默認(rèn)值,在除去前,必須通過執(zhí)行 sp_unbindefault 來取消對(duì)該默認(rèn)值的綁定。



    如果列同時(shí)有默認(rèn)值和規(guī)則與之關(guān)聯(lián),則默認(rèn)值不能違反規(guī)則。與規(guī)則沖突的默認(rèn)值將永遠(yuǎn)不能插入列,每次試圖插入這樣的默認(rèn)值時(shí),SQL Server 都會(huì)生成錯(cuò)誤信息。



    當(dāng)綁定到列以后,在以下情況下將插入默認(rèn)值:


    • 非顯式地插入值。



    • 在 INSERT 中使用 DEFAULT VALUES 或 DEFAULT 關(guān)鍵字來插入默認(rèn)值。



    如果在創(chuàng)建列時(shí)指定 NOT NULL 并且沒有為其創(chuàng)建默認(rèn)值,則當(dāng)用戶未能為該列輸入項(xiàng)時(shí),就會(huì)生成錯(cuò)誤信息。下表說明默認(rèn)值的存在性與將列定義為 NULL 或 NOT NULL 之間的關(guān)系。表中的條目顯示了結(jié)果。




























    列定義沒有輸入項(xiàng),

    沒有默認(rèn)值
    沒有輸入項(xiàng),有默認(rèn)值輸入 NULL,

    沒有默認(rèn)值
    輸入 NULL,有默認(rèn)值
    NULLNULLdefaultNULLNULL
    NOT NULLErrordefaulterrorerror



    說明  SQL Server 是將空字符串解釋為單個(gè)空格還是解釋為真正的空字符串,由 sp_dbcmptlevel 的設(shè)置控制。如果兼容級(jí)別小于或等于 65,SQL Server 就將空字符串解釋為單個(gè)空格。如果兼容級(jí)別等于 70,則 SQL Server 將空字符串解釋為空字符串。有關(guān)更多信息,請(qǐng)參見 sp_dbcmptlevel。



    若要重命名默認(rèn)值,請(qǐng)使用 sp_rename。若要獲得默認(rèn)值的報(bào)表,請(qǐng)使用 sp_help。



    權(quán)限


    CREATE DEFAULT 的權(quán)限默認(rèn)授予 sysadmin 固定服務(wù)器角色成員和 db_ownerdb_ddladmin 固定數(shù)據(jù)庫角色成員。sysadmin、db_ownerdb_securityadmin 角色的成員可以將權(quán)限轉(zhuǎn)讓給其他用戶。



    示例


    A.創(chuàng)建簡(jiǎn)單的字符默認(rèn)值


    下面的示例創(chuàng)建字符默認(rèn)值 unknown。



    USE pubs
    GO
    CREATE DEFAULT phonedflt AS 'unknown'


    B.綁定默認(rèn)值


    下面的示例綁定示例 A 中創(chuàng)建的默認(rèn)值。只有當(dāng) authors 表的 phone 列沒有輸入項(xiàng)時(shí),該默認(rèn)值才起作用。請(qǐng)注意,沒有輸入項(xiàng)和顯式指定空值不同。



    因?yàn)槊麨?phonedflt 的默認(rèn)值不存在,所以下列 Transact-SQL 語句將失敗。本例只用于演示。



    USE pubs
    GO
    sp_bindefault phonedflt, 'authors.phone'
    相關(guān)文章
    本頁查看次數(shù):