Как мне автоматически увеличить значение идентификатора
Привет,
У меня есть этот вопрос, но моя проблема все еще существует.
public void AutoIncrementTaskID() { DatabaseConnection conn = this._dbcEH; string strComm = string.Format(@"IF EXISTS(Select * from [DB].[Table] where ID Is NULL and [TempID] = @TempID) Begin UPDATE [DB].[Table] SET [ID]= (Select MAX(CAST(ISNULL(ID,0)as int))+1 from [DATABASENAME].[TABLE]) WHERE [TempID] =@TempID End ");
Я понял, что ошибка приближается (выберите MAX (CAST(ISNULL(ID, 0) as int))+1. Может ли кто-нибудь попытаться решить эту проблему и дать мне знать? заранее спасибо за помощь.
Что я уже пробовал:
Я попробовал настроить код, изменив cast, max и все остальное, но это не сработало.
PIEBALDconsult
Вы никогда не должны обновлять поле идентификатора, никогда.
Чего вы на самом деле пытаетесь достичь? Не "как", а "что"?
Member 8010354
Хорошо, на самом деле я создаю обработчик presaveevent с использованием API в веб-приложении (KCURA-Relativity). Поэтому я создал настроенное приложение в этом случае, и всякий раз, когда пользователь создает новую задачу (например, как регистрационную форму студента), она должна генерировать уникальное значение. В этот момент я взял SQL в картину.
PIEBALDconsult
Я предпочитаю GUID в качестве идентификаторов, но если вам нужно целое число, используйте последовательность.
Member 8010354
Не могли бы Вы уточнить, пожалуйста. Я ничего не понял.