|
IDENTITY в SELECT
|
|||
---|---|---|---|
#18+
MS SQL 7.0 Можно ли в SELECT ввести столбец - уникальный номер строки? Знаю, как через временную таблицу. А "на прямую" мона? Заранее спа. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2001, 12:13 |
|
IDENTITY в SELECT
|
|||
---|---|---|---|
#18+
По-моему если только так: select newid(), name from sysobjects ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2001, 12:23 |
|
IDENTITY в SELECT
|
|||
---|---|---|---|
#18+
Пример из рассылки http://mssqlhelp.com.ru/ : declare @intCounter int set @intCounter = 0 update Yaks SET @intCounter = YakSequenceNumber = @intCounter + 1 Синтаксис привязки счётчика к порядковому номеру строки следующий: SET @variable = column = expression ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2001, 13:58 |
|
IDENTITY в SELECT
|
|||
---|---|---|---|
#18+
Try this : Select a1.au_fname , 'id'=count(a2.au_fname) From authors a1 inner join authors a2 on a1.au_fname>=a2.au_fname Group by a1.au_fname ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2001, 22:20 |
|
IDENTITY в SELECT
|
|||
---|---|---|---|
#18+
Меня тоже эта проблема интересовала. Суммирую мои знания и ответы, которые я прочитал в этой конференции, я для себя сделал вывод, что в SELECT-е вывести номер строки невозможно. Действительно, фунцию IDENTITY() можно использовать только при INSERT во временную (или иную) таблицу. Вариант с UPDATE-том, приведённы из рассылки, предлагает нумеровать строки физически в уже существующей таблице. А вариант с COUNT() и GROUP BY в запросе бесспорно красивый. Но... Я попробовал потестировать его и к сожалению на реальных таблицах и больших объёмах данных он работает отвратительно медленно (раз в 20 медленнее чем обычный SELECT). Конечно, на таблице из мальнькой учебной базы pubs он идёт нормально, но в реальных условиях не годится. Будем надеяться, что в следующих версиях SQL Server фирма Microsoft всё-таки позволит использовать функцию IDENTITY() в обычном SQL-запросе, без всякого insert. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 14:11 |
|
|
start [/forum/topic.php?fid=46&msg=32001611&tid=1827461]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 261ms |
total: | 386ms |
0 / 0 |