2012-05-30 1 views
2

Я использую MS SQL Server (в основном, работаю с Management Studio), и я не могу узнать, как узнать, какие значения из таблицы мне нужно вставить и какие значения создаются автоматически? Как я это вижу? Я имею в виду, что идентификаторы часто вычисляются автоматически, но иногда вам нужно вставлять их вручную, так как именно я могу узнать/увидеть это?Как узнать, вставлено ли значение автоматически или должно быть вставлено вручную?

+1

проверить свойство идентификации личности, он скажет вам, является ли инкремент идентификации истинным или ложным. –

ответ

1

Поскольку вы уже в SSMS (SQL Server Management Studio), выполните следующую команду в/вкладке окна запроса:

USE [DBNameWhereTableResides] 
EXEC sp_help 'SchemaName.TableName' 

ИЛИ

EXEC DBNameWhereTableResides.dbo.sp_help 'SchemaName.TableName' 

Вы увидите записи для «идентичности» и «ROWGUIDCOL», который будет тел l вы, если идентификатор автогенерируется.

Вы также увидите раздел «Ограничения», в первом столбце которого указано «constraint_type», в котором будут указаны ограничения DEFAULT, которые будут предварительно заполнять colummn, если значение не указано в INSERT.

Во втором разделе показаны все определения столбцов, а те, которые обозначены как «Nullable» = «yes», не обязательно должны находиться в INSERT, но без поля IDENTITY или с DEFAULT он не получит значение и останется NULL, если не указано в INSERT.

0

Вы можете использовать этот запрос, чтобы найти все таблицы и столбцы идентификаторов

SELECT s.name + '.' + t.name AS TableName, c.name AS ColumnName, 
IDENT_SEED(s.name + '.' + t.name) AS Seed, 
IDENT_INCR(s.name + '.' + t.name) AS Increment 
FROM sys.tables t 
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id 
INNER JOIN sys.columns c ON c.object_id = t.object_id 
    AND c.is_identity = 1 
0
CREATE TABLE Product 
( 
    id int IDENTITY, 'this will be automatically inserted 
    product_name VARCHAR(30), 
    description varchar(200), 
    price money NOT NULL 
) 

INSERT Product (product_name) VALUES ('Strawberry', 1200); 

Примечание: я не указал «id» в моей вставке. Вам не нужно указывать «описание», значение по умолчанию будет равно Любой знак столбца NOT NULL должен быть указан, например. PRICE

Смежные вопросы