Udostępnij za pośrednictwem


CREATE DEFAULT (języka Transact-SQL)

Tworzy obiekt o nazwie domyślna.Kiedy związana z kolumną lub typem danych alias, domyślne określa wartość ma zostać wstawiony do kolumna, z którą związany jest obiekt (lub do wszystkich kolumn, przypadek z typem danych alias), kiedy wartość nie jest jawnie dostarczone podczas wstawiania.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. W zamian należy używać domyślnej definicji utworzony za pomocą słowa kluczowego DEFAULT instrukcji ALTER tabela lub CREATE tabela.Aby uzyskać więcej informacji zobaczCreating and Modifying DEFAULT Definitions.

Topic link iconKonwencje składni języka Transact-SQL

CREATE DEFAULT [ schema_name . ] default_name 
AS constant_expression [ ; ]

Argumenty

  • schema_name
    To nazwa schematu, do którego należy wartość domyślna.

  • default_name
    To nazwa domyślna.Domyślne nazwy muszą być zgodne z zasadami identyfikatory.Określanie domyślnej nazwy właściciela jest opcjonalne.

  • constant_expression
    Is wyrażenie zawierający tylko stała wartości (nie może zawierać nazwy kolumn lub inne obiekty bazy danych).Wszelkie funkcja wbudowanych, stała lub wyrażenie matematyczne mogą być używane, z wyjątkiem tych, które zawierają typy danych alias.Nie można użyć funkcji zdefiniowanych przez użytkownikaNależy ująć stałych znaków i data w pojedynczy cudzysłów)"); walutową, liczb całkowitych i zmiennoprzecinkowych stałych nie wymagają cudzysłowu.Dane binarne musi być poprzedzony 0 x, a dane monetarne musi być poprzedzona odpowiadającą jej znak dolara ($).Wartość domyślna musi być zgodny z typem danych kolumna.

Remarks

Domyślna nazwa mogą być tworzone tylko w bieżącej bazie danych.W bazie danych nazwy domyślne muszą być unikatowe w schemacie.Podczas tworzenia domyślny, należy użyć sp_bindefault powiązać go do kolumna lub do typu danych alias.

Jeśli wartość domyślna nie jest zgodny z kolumna, z którą jest powiązana SQL Server generuje komunikat o błędzie podczas próby wstawienia wartości domyślne. Na przykład n/D nie można użyć jako domyślny dla numeryczny kolumna.

Jeśli wartość domyślna jest za długi dla kolumna, na którym jest związana, wartość zostanie obcięta do liczby całkowitej.

Nie można łączyć instrukcji CREATE DEFAULT do innej Transact-SQL instrukcje w jednej partia.

Wartość domyślna musi być odrzucone, przed utworzeniem nowego o takiej samej nazwie, a wartość domyślna musi być niezwiązane przez sp_unbindefault , zanim zostanie odrzucone.

Jeśli kolumna ma domyślny i reguły skojarzone z nim, wartość domyślna musi nie naruszają reguły.Nigdy nie dodaje się domyślne, które wchodzą w konflikt z reguły, a SQL Server generuje komunikat o błędzie za każdym razem, podejmowana jest próba wstawić wartość domyślna.

Powiązane kolumna jest wstawiana wartość domyślna, gdy:

  • Wartość nie zostanie jawnie wstawiony.

  • DEFAULT VALUES albo DEFAULT słowa kluczowe są używane z INSERT do wstawiania wartości domyślne.

Jeśli nie jest określona wartość NULL, podczas tworzenia kolumna i domyślnie nie jest tworzony dla niego, generowany jest komunikat o błędzie, gdy użytkownik nie dokona zapisu w tej kolumnie.W poniższej tabela pokazano relację między istnienie domyślną i definicją kolumna, które NULL lub NOT NULL.Wpisy w tabela pokazuje wynik.

Definicja kolumna

Brak wpisu, brak domyślnej

Brak wpisu, domyślny

Należy wprowadzić wartość NULL, brak domyślnej

Należy wprowadzić wartość NULL, domyślny

NULL

WARTOŚCI NULL

domyślne

WARTOŚCI NULL

WARTOŚCI NULL

NOT NULL

Błąd

domyślne

Błąd

Błąd

Aby zmienić nazwę domyślną, należy użyć sp_rename.W przypadku raportu na wartość domyślną należy użyć sp_help.

Uprawnienia

CREATE DEFAULT, należy wykonać co najmniej, użytkownik musi mieć uprawnienie CREATE DEFAULT w bieżącej bazie danych i ALTER uprawnienia na schemacie, w którym jest tworzony domyślnie.

Przykłady

A.Tworzenie domyślnej prostego znaku

Poniższy przykład tworzy domyślnie znak o nazwie unknown.

B.Domyślnie wiązanie

W poniższym przykładzie wiąże domyślną utworzone w przykładzie A.Domyślnie działa tylko wtedy, gdy zapis nie został określony dla Phone Kolumna Contact Tabela. Należy zauważyć, że pominięcie każdego wpisu jest inny niż jawnie określając wartość NULL w instrukcja INSERT.

Ponieważ domyślny o nazwie phonedflt nie istnieje, poniżej Transact-SQL Instrukcja nie powiedzie się. W tym przykładzie jest wyłącznie.