Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 неуникальный индекс на переменной типа table  [new]
переменая table
Guest
Уникальный индекс у переменой table создать можно через констрейнт.
А вот неуникальный не получается.
Можно ли вообще?
Если да, то как?
26 авг 13, 11:56    [14754962]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
например, добавить в индекс неуникальное поле __ID__ int identity
26 авг 13, 11:57    [14754969]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
*уникальное, разумеется
26 авг 13, 11:57    [14754970]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
переменая table
Guest
locky,

понятно.
а без ухищрений?
26 авг 13, 11:59    [14754981]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
переменая table
locky,

понятно.
а без ухищрений?


никак, там только UQ и PK допускаются, индексы создавать нельзя

а чем плохо ухищрение?
26 авг 13, 12:01    [14754986]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
Гость333
Member

Откуда:
Сообщений: 3683
переменая table
а без ухищрений?

BOL -> table variables
BOL
Indexes cannot be created explicitly on table variables, and no statistics are kept on table variables.
26 авг 13, 12:01    [14754989]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2566
переменая table,

возьмите временную таблицу, это ведь почти то же самое. Там можно.
26 авг 13, 12:02    [14754993]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
переменая table
Guest
locky
никак, там только UQ и PK допускаются, индексы создавать нельзя

а чем плохо ухищрение?
Ну, если было бы можно сразу "в лоб", то так было бы культурнее.

Это я просто просвящаюсь в данной теме.

Спасибо за ответы!
26 авг 13, 12:06    [14755010]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
переменая table
locky
никак, там только UQ и PK допускаются, индексы создавать нельзя

а чем плохо ухищрение?
Ну, если было бы можно сразу "в лоб", то так было бы культурнее.

Это я просто просвящаюсь в данной теме.

Спасибо за ответы!


ну в общем да, без "вывертов" было бы кошернее

Стоит также обратить внимание на то, что замена на временную таблицу не всегда возможна - например, в UDF
26 авг 13, 12:12    [14755051]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
locky
переменая table
пропущено...
Ну, если было бы можно сразу "в лоб", то так было бы культурнее.

Это я просто просвящаюсь в данной теме.

Спасибо за ответы!


ну в общем да, без "вывертов" было бы кошернее

Стоит также обратить внимание на то, что замена на временную таблицу не всегда возможна - например, в UDF
Если данных много, то лучше все таки сделать таблицу, а если мало, то нафига там индекс?
А если данных много и это UDF, то лучше сразу застрелиться :)
28 авг 13, 04:09    [14763579]     Ответить | Цитировать Сообщить модератору
 Re: неуникальный индекс на переменной типа table  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Mind
Если данных много, то лучше все таки сделать таблицу, а если мало, то нафига там индекс?
Ну, что подразумевается под много-мало?
Я даже не припомню случая когда в таблице нет ключа, нельзя его определить из логики таблицы.

И без зазрения совести так и делаю. Тем более, что значит "выверты"? Индекс это по сути и есть - тупо хранение PK (по которому и ищется строка в табле).
locky
например, добавить в индекс неуникальное поле __ID__ int identity
Это непрофессионально. Лучше было написать: добавить в индекс колонки любого ключа. И если таковой не имеется, то добавить его, к примеру через механизм Identity или Sequence.

PS: Так всё спозиционированно, словно эта такая редкость "ключ на таблице". Было столько топиков в которых приходили к тому что надо расшибиться в лепёшку что бы найти таблу без ключей.
Хотя при этих "рассмотрениях" столько багов находилось в скуле ...

KO
28 авг 13, 10:23    [14764206]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить