, . , , PERSISTED. , . , : cost AS price * qty. , , , , . .
Database Engine NULL . , NULL, , NULL , NULL.
ON { filegroup | "default" }
, . filegroup, . . "default" ON , . , CREATE TABLE, .
[ type_schema_name. ] type_name
, . .
.
SQL Server. NULL NOT NULL CREATE TABLE. ; - CREATE TABLE.
Precision
.
Scale
.
Max
varchar, nvarchar varbinary 2^31 2^30 .
IDENTITY
, . Database Engine . IDENTITY tinyint, smallint, int, bigint, decimal(p,0) numeric(p,0). . - , . , (1,1).
seed - , , .
increment - , .
COLLATE collation_name
|
|
. Windows, SQL. collation_name char, varchar, text, nchar, nvarchar ntext. , , , .
NULL | NOT NULL
, NULL. NULL , , NOT NULL. NOT NULL , PERSISTED.
:
, , NULL .
MiddleName , FullName .
Id . Database Engine , 1 1 .
CREATE TABLE Human
(
Id int IDENTITY(1,1) NOT NULL,
FirstName nvarchar(50) NOT NULL,
LastName nvarchar(50) NOT NULL,
MiddleName nvarchar(50) NULL,
FullName AS FirstName + ' ' + LastName
) ON [PRIMARY];
, ALTER TABLE.
ALTER TABLE [ database_name. [ schema_name ]. | schema_name. ] table_name
{
ALTER COLUMN column_name
{
[ type_schema_name. ] type_name [ ({ precision [, scale ] | max }) ]
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
}
| ADD
{
<column_definition>
| <computed_column_definition>
} [,...n ]
| DROP
{
COLUMN column_name
}
}
database_name
, .
schema_name
, .
table_name
, . , , , .
ALTER COLUMN
, .
column_name
, , . column_name 128 . column_name , timestamp. timestamp , column_name timestamp.
[ type_schema_name .] type_name
. . type_name .
SQL Server.
, SQL Server. , CREATE TYPE.
|
|
.NET Framework , . .NET Framework CREATE TYPE.
type_name :
.
type_name timestamp.
ANSI_NULL ALTER COLUMN ON; , NULL.
ANSI_PADDING ALTER COLUMN ON.
, new_data_type , .
SET ARITHABORT . ALTER TABLE , ARITHABORT ON.
precision
.
scale
.
Max
varchar, nvarchar varbinary 2^31-1 , .
, .
COLLATE < collation_name >
. , , . Windows, SQL.
COLLATE char, varchar, nchar nvarchar. , ALTER TABLE, SQL Server, , .
ALTER COLUMN , :
CHECK, FOREIGN KEY .
- , . , , , .
.
NULL | NOT NULL
, NULL.
, NULL, ALTER TABLE , . NOT NULL , PERSISTED. NULL, , NULL . NULL, , WITH VALUES .
NULL , DEFAULT . .
NULL ALTER COLUMN, NOT NULL NULL. NOT NULL ALTER COLUMN, NULL.
NULL , , ALTER COLUMN NOT NULL, :
|
|
UPDATE MyTable SET NullCol = N'some_value' WHERE NullCol IS NULL
ALTER TABLE MyTable ALTER COLUMN NullCOl NVARCHAR(20) NOT NULL
CREATE TABLE ALTER TABLE , , NULL , . NULL NOT NULL.
, NULL, .
ADD
, .
DROP { COLUMN column_name }
, column_name. .
1:
, NULL. , NULL.
ALTER TABLE simpleTable ADD column_b VARCHAR(20) NULL;
2:
.
ALTER TABLE simpleTable DROP COLUMN column_b;
3:
INT DECIMAL.
CREATE TABLE simpleTable (column_a INT);
GO
INSERT INTO simpleTable (column_a) VALUES (10);
GO
ALTER TABLE simpleTable ALTER COLUMN column_a DECIMAL (5, 2);
DROP TABLE. , , DROP. sys.dm_sql_referencing_entities.
DROP TABLE [ database_name. [ schema_name ]. | schema_name. ] table_name [,...n ]
database_name
, .
schema_name
, .
table_name
, .
DROP TABLE , FOREIGN KEY. FOREIGN KEY . , , , DROP TABLE, .
, , , .
, . , , .
128 : . , , . IAM, , .
:
ProductVendor .
DROP TABLE simpleTable;13
|
|