Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вставка значений для колонки IDENTITY,  [new]
McCar
Member

Откуда: Саратов
Сообщений: 778
...Вопросик наверно учениковский, да и к тому же слегка в оффтопик так как он касается SQL CE - (младший брат Microsoft SQL Server для платформы windows ce), но податься больше некуда кроме как к вам...
Если мы определяем колонку таблицы как IDENTITY, мы можем потом вставляеть свои значения? Или это все должно быть отдано на откуп серверу?
Я определил колонку ID как IDENTITY(1,1), пытаюсь инсертить новую запись, в том числе указываю значение для колонки ID, - выдает ошибку.. Так задумано или что то не так делаю?
24 июл 04, 11:57    [832706]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
McCar
Member

Откуда: Саратов
Сообщений: 778
Добавлю - ессно вставляемое значение уникальное, чтоб вы не подумали чего плохого :-)
24 июл 04, 12:02    [832708]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
McCar
Member

Откуда: Саратов
Сообщений: 778
Нашел я ответ на свой вопрос ...
Во первых так задумано, во вторых на sql ce с этим ничего не сделаешь, нету у него наподобие set IDENTITY off...
24 июл 04, 12:28    [832719]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
a1ex
Member

Откуда: .ua
Сообщений: 369
McCar
Нашел я ответ на свой вопрос ...
Во первых так задумано, во вторых на sql ce с этим ничего не сделаешь, нету у него наподобие set IDENTITY off...


т.е. в SQL CE - (младший брат Microsoft SQL Server для платформы windows ce) не предусмотрен этот вариант?
SET IDENTITY_INSERT [ database. [ owner. ] ] { table } { ON | OFF }
24 июл 04, 13:52    [832743]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
www.perlscript.ru
Member

Откуда: Москва
Сообщений: 344
McCar
...Вопросик наверно учениковский, да и к тому же слегка в оффтопик так как он касается SQL CE - (младший брат Microsoft SQL Server для платформы windows ce), но податься больше некуда кроме как к вам...
Если мы определяем колонку таблицы как IDENTITY, мы можем потом вставляеть свои значения? Или это все должно быть отдано на откуп серверу?
Я определил колонку ID как IDENTITY(1,1), пытаюсь инсертить новую запись, в том числе указываю значение для колонки ID, - выдает ошибку.. Так задумано или что то не так делаю?

А смысл своих значений какой?
26 июл 04, 10:55    [834153]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: вставка значений для колонки IDENTITY,  [new]
Сирин
Member

Откуда: Пермь
Сообщений: 1075
А у меня наоборот. Явно не указываю значение поля, но CE пишет, что значение не может быть NULL.
System.Data.SqlServerCe.SqlCeException (0x80004005): The column cannot contain null values. [ Column name = ID,Table name = Job ]

Поле ID имеет тип uniqueidentifier, unique, not null. Что не так делаю?
7 авг 12, 08:25    [12972524]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
Сирин
Member

Откуда: Пермь
Сообщений: 1075
На всякий случай: CE 4.0, VS 2010, Win 7 x86.
7 авг 12, 08:33    [12972546]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
Андрей Прохоров 79
Member

Откуда:
Сообщений: 8
Сирин, насколько я помню GUID сам не генерируется. Попробуй так:
IdColumn uniqueidentifier NOT NULL DEFAULT newid(),
7 авг 12, 08:54    [12972612]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31912
Сирин
Что не так делаю?
Нужно самому вставлять значения, раз поле не IDENTITY
7 авг 12, 08:56    [12972618]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
Андрей Прохоров 79
Member

Откуда:
Сообщений: 8
Сирин,

Тип данных uniqueidentifier не формирует автоматически новые идентификаторы для вставляемых строк, как это делает свойство IDENTITY. Например, чтобы получить новое значение uniqueidentifier, при создании таблицы необходимо задать предложение DEFAULT, указав функцию NEWID или NEWSEQUENTIALID. В инструкциях INSERT можно также пользоваться функцией NEWID.

http://msdn.microsoft.com/ru-ru/library/ms190215(v=sql.105).aspx
7 авг 12, 08:56    [12972620]     Ответить | Цитировать Сообщить модератору
 Re: вставка значений для колонки IDENTITY,  [new]
Сирин
Member

Откуда: Пермь
Сообщений: 1075
Спасибо, применил DEFAULT newid().
8 авг 12, 08:58    [12978903]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить