2014-08-29 6 views
0

Вот моя дилемма,Инкрементный номер на вставке в?

У меня есть следующие столбцы:

ID_C INT и NAME VARCHAR

Проблема заключается в том, что ID_C не настроен на автоматическое приращение, поскольку это связано с другой таблицей с информацией о этот конкретный номер ID_C. Таким образом, он не может автоматически увеличиваться, не имея номера в нем первым, поэтому он не установлен для автоматического увеличения.

Как я могу сделать

INSERT INTO Table (ID_C, name) 
VALUES (<<This place should query for the last item and increment on the result>>,'Tom B. Erichsen') 
+0

'INSERT INTO [Таблица] (ID_C, имя) SELECT MAX (ID_C) +1, 'Tom B. Erichsen' FROM [Table] ' – Dan

+1

Похоже, вам нужно пересмотреть структуру таблицы. Если идентификаторы связаны, они должны быть одной таблицей или один идентификатор должен быть внешним ключом к другому, с автоматическим приращением на первичном ключе. –

+0

Awesome Dan, именно то, что я искал, большое вам спасибо. – user3570550

ответ

0
INSERT INTO [Table](ID_C, name) SELECT MAX(ID_C)+1, 'stack' FROM user_table 

вы можете использовать DML триггер также. (После вставки) Refernce

http://www.mssqltips.com/sqlservertip/2342/understanding-sql-server-inserted-and-deleted-tables-for-dml-triggers/ 
Смежные вопросы