Komentar Anda pada dua jawaban lainnya mengklaim bahwa Anda tidak dapat menyebutkan batasan default saat membuatnya "sebaris". Kedua jawaban menunjukkan bahwa Anda dapat, pada kenyataannya, memberikan nama untuk kendala saat membuatnya sebaris. Saya akan menambahkan contoh ketiga, menunjukkan hasilnya.
IF OBJECT_ID('dbo.Test') IS NOT NULL
DROP TABLE dbo.Test;
CREATE TABLE dbo.Test
(
TestID int NOT NULL
CONSTRAINT PK_Test --here I'm naming the primary key constraint!
PRIMARY KEY CLUSTERED
IDENTITY(1,1)
, SomeData varchar(42) NOT NULL
CONSTRAINT DF_Test_SomeData --this is the name of the default constraint!
DEFAULT ('Carrie Fisher')
);
INSERT INTO dbo.Test DEFAULT VALUES;
Ini menunjukkan nama batasan default adalah DF_Test_SomeData
:
SELECT TableName = t.name
, ConstraintName = dc.name
FROM sys.default_constraints dc
INNER JOIN sys.tables t ON dc.parent_object_id = t.object_id;
Hasil:
Melihat objek explorer di SSMS menunjukkan nama:
CREATE TABLE ...
pernyataan tersebut. Anda memiliki kesalahan sintaksis yang sangat mendasar.