столбец идентификационных данных в SQL-сервере

Вы близко.

Помните, что replace заменяет найденный текст вторым аргументом. Итак:

newString = string.replace(/\s+/g,''); // "thiscontainsspaces"

Находит любое количество последовательных пробелов и удаляет их. Попробуйте заменить их одним пробелом!

newString = string.replace(/\s+/g,' ').trim();
6
задан Bhaskar 20 May 2009 в 19:42
поделиться

7 ответов

Столбец идентификаторов - это столбец (также известный как поле) в таблице базы данных, который: -

  1. Однозначно идентифицирует каждую строку в таблице
  2. Состоит из значений, сгенерированных база данных

Это очень похоже на поле AutoNumber в Microsoft Access или последовательность в Oracle.

Столбец идентификаторов отличается от первичного ключа тем, что его значения управляются сервером и (за исключением редких случаев) не могут быть изменены. Во многих случаях столбец идентификаторов используется в качестве первичного ключа, однако это не всегда так.

SQL-сервер использует столбец идентификаторов в качестве значения ключа для ссылки на конкретную строку. Таким образом, можно создать только один столбец идентификации. Кроме того, если столбцы идентификаторов явно не указаны, сервер Sql внутренне сохраняет отдельный столбец, который содержит значение ключа для каждой строки.

2
ответ дан 8 December 2019 в 18:41
поделиться

Зачем вам это нужно? SQL Server отслеживает одно значение (текущее значение идентификатора) для каждой таблицы со столбцом IDENTITY , поэтому в каждой таблице может быть только один столбец идентификатора.

7
ответ дан 8 December 2019 в 18:41
поделиться

SQL Server сохраняет идентификатор во внутренней таблице, используя идентификатор таблицы в качестве ключа. Таким образом, SQL Server не может иметь более одного столбца Identity в таблице.

2
ответ дан 8 December 2019 в 18:41
поделиться

Поскольку MS поняла, что более 80% пользователей хотели бы иметь только один столбец с автоинкрементом для каждой таблицы, а обходной путь, чтобы иметь второй (или больше), достаточно просто, т.е. создать ИДЕНТИФИКАЦИЮ с начальным числом = 1, приращением = 1, затем вычисляемый столбец, в котором автоматически сгенерированное значение умножается на коэффициент для изменения приращения и добавляется смещение для изменения начального числа.

2
ответ дан 8 December 2019 в 18:41
поделиться

Вся цель Столбец identity состоит в том, что он будет содержать уникальное значение для каждой строки в таблице. Так зачем вам нужно более одного из них в любой таблице?

Возможно, вам нужно уточнить свой вопрос, если вам действительно нужно более одного.

0
ответ дан 8 December 2019 в 18:41
поделиться

Столбец идентификаторов используется для однозначной идентификации отдельной строки таблицы. Если вы хотите, чтобы другие столбцы были уникальными, вы можете создать УНИКАЛЬНЫЙ индекс для каждого «идентификационного» столбца, который вам может понадобиться.

0
ответ дан 8 December 2019 в 18:41
поделиться

Я всегда считал это произвольным и плохим ограничением для SQL Server. Да, вам нужен только один столбец идентификаторов, чтобы фактически идентифицировать строку, но есть веские причины, по которым вы хотите, чтобы база данных автоматически генерировала номер для более чем одного поля в базе данных.

Это хорошая особенность последовательностей в Oracle. Они не привязаны к столу. Вы можете использовать несколько различных последовательностей для заполнения любого количества полей в одной и той же таблице. Вы могли также иметь более одной таблицы, использующей одну и ту же последовательность, хотя, вероятно, это действительно плохое решение. Но дело в том, что вы могли. Он более детализирован и дает большую гибкость.

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

-1
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: