|
Номерация строк
|
|||
---|---|---|---|
#18+
Запрос: INSERT INTO Table VALUES ((SELECT MAX ID FROM Table) + 1,'Information') или что то в это м роде... Как заставить этот запрос работать? ПОМОГИТЕ ПЛЗ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2001, 16:46 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Запрос: INSERT INTO Table VALUES ((SELECT MAX ID FROM Table) + 1,'Information') или что то в это м роде... Как заставить этот запрос работать? ПОМОГИТЕ ПЛЗ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2001, 16:46 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Ну такой-то запрос работать не заставить Надо немного попроще просто написать create table #table(ID int, inf varchar(200)) insert #table values(0, 'empty') INSERT INTO #table SELECT MAX(ID)+1,'Information' FROM #table select * from #table А я сообще обычно values не пишу. Вместо insert #table values(0, 'empty') можно написать insert #table select 0, 'empty' ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2001, 17:02 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Declare @id int Select @id = Max(Id) From T1 Insert Into T1 Values (@id,'Information') А вообще-то не пытаешься ли ты изобрести велосипед? Мне кажется, что ты хочешь сделать то, что в SQL Server'е реализуется через Identity (посмотри Help по Create Table) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2001, 17:06 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Способ нумерации строк предложенный SergSuper интересен , только вот не лишен некоторых неудобств в использовании. Скажем если в таблице полей 30 , а на данном этапе нужно заполнить только 5(все остальные заполняются default) - как тогда написать Insert ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2001, 05:05 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
"Марксизм - это не догма, а руководство к действию" В.И.Ленин Это я к тому: идея дадена - а вы уж как-нибудь развивайте сами. По 5 записей так конечно не вставишь. Но... 1. А не проще ли использовать IDENTITY ? 2. Если IDENTITY действительно не подходит(допустим нужно что бы была нумерация без "дырок", а с IDENTITY они при удалении записей появяться) то наверное можно придумать обходные варианты. Например вставлять какое-нибудь предопределённое значение (например "-1" или "null"), а потом в цикле их апдейтить. Это можно делать в триггере. Тут реализация зависит уже от конкретной задачи. 3. А подумайте - может вам нумерация и вообще не нужна? С приветом Сергей sergsuper@mail.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2001, 11:27 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Идея не моя. Получил по рассылки с сайта citycat.ru (MS SQL SERVER - дело тонкое). declare @I int set @I=0 update Table set ID=@I=@I+1 В BOL такого синтаксиса я не нашел. Попробовал - работает! Нумерует записи, правда те, которые уже имеются в таблице. Успехов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2001, 20:50 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
2 Garya - всё-таки попробуй - не работает же Правильно писать: declare @I int set @I=0 update Table set @I=ID=@I+1 Хотя я обычно писал: declare @I int set @I=0 update Table set ID=@I, @I=@I+1 Хотя пронумеровать записи в таблице - задача весьма тривиальная, здесь же вопрос стоял в другом: как вставлять записи так, что бы они были уже пронумерованы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 10:34 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Проще - INSERT INTO Table SELECT MAX(ID)+1, 'Information' FROM Table ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 15:39 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Согласен. Просто мне моча стукнула в голову, что тов. NetMinion, возможно, захочет этот ID тут же использовать. Так бывает с бодуна. А вообще эту тему здесь уже до дыр затерли... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2001, 17:41 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Спасибо всем, кто пытался ответить на этот вопрос) на самом деле я просто слишком упростил задачу, тем самым усложнив решение... выход из моей ситуации таков: SELECT IDENTITY(INT, 1, 1) as RowId, OldTable.tbl1 Into NewTable From OldTable правда тут возникает еще одна задача - если tbl1 указан как IDENTITY то запрос вадаст ошибку... (немогу вставить 2 IDENTITY) что-то вроде того... а у меня именно такая ситуация... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2001, 03:52 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
Я вижу здесь два выхода (оба проверены - работают, самому надо было ). 1. Отбирать во временную таблицу #Tmp1 все столбцы из Tab1 кроме столбца IDENTITY. 2. Если нужен и "новый" номер строки и "старый", тогда: SELECT IDENTITY(int, 1, 1) as NewID, OldID=CAST(t.ID as int), t.Field1, t.Field2 INTO #Tmp1 FROM Tab1 t Желаю удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2001, 14:47 |
|
Номерация строк
|
|||
---|---|---|---|
#18+
AnKa ты опять меня спосла) я твой должник))) спасибо.. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2001, 16:32 |
|
|
start [/forum/topic.php?fid=46&msg=32001650&tid=1827458]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 149ms |
0 / 0 |