Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите плиз с нумерацией строки Id  [new]
vip1987
Member

Откуда:
Сообщений: 5
Доброе время суток!
Помогите плиззз с такой проблемой новичку:
На сервере стоит SQLExpress 2014 в нем база с таблицами.
Суть проблемы в то что:
Допустим я создал чистую таблицу... заполнил её данными из Visual Studio, после выборочно удалил строки.
И у меня получилось так: 1 Строка с Id первая есть... 2-4 удалены а следующая 5
Вот и выходит картина строчками:
1 - заполнена
5 - заполнена

Дак вот как мне сделать что б строки при удалении например переназначались по порядку?
13 ноя 16, 15:28    [19888025]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
iap
Member

Откуда: Москва
Сообщений: 47063
vip1987,

зачем? В общем, лучше никак.
13 ноя 16, 15:57    [19888098]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4422
vip1987
Доброе время суток!
Помогите плиззз с такой проблемой новичку:
На сервере стоит SQLExpress 2014 в нем база с таблицами.
Суть проблемы в то что:
Допустим я создал чистую таблицу... заполнил её данными из Visual Studio, после выборочно удалил строки.
И у меня получилось так: 1 Строка с Id первая есть... 2-4 удалены а следующая 5
Вот и выходит картина строчками:
1 - заполнена
5 - заполнена

Дак вот как мне сделать что б строки при удалении например переназначались по порядку?

Для чего?
Хотите ровный ряд нумерации - делайте это в запросе через row_number.
13 ноя 16, 16:19    [19888126]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
vip1987
Member

Откуда:
Сообщений: 5
Хотите ровный ряд нумерации - делайте это в запросе через row_number.[/quot]

Не подскажите по подробнее как это сделать?
13 ноя 16, 20:04    [19888525]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
iljy
Member

Откуда:
Сообщений: 8711
vip1987,

конечно подскажем.
13 ноя 16, 20:07    [19888527]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
vip1987
Member

Откуда:
Сообщений: 5
Все равно не дошло до меня как и где это делать)
Можете скинуть пример любой таблицы?
16 ноя 16, 06:46    [19898482]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
Massa52
Member

Откуда:
Сообщений: 382
declare @A table (id int,Name varchar(10));

insert @A values(1,'aaa'),(3,'bbb'),(5,'ccc'),(10,'ddd')

select ROW_NUMBER() OVER (ORDER BY id) AS row
       , Name
       , id	   
from @A
16 ноя 16, 07:04    [19898488]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
vip1987
Member

Откуда:
Сообщений: 5
CREATE TABLE [dbo].[Account] (
[AccountID] INT NOT NULL,
[Email] NVARCHAR (MAX) NULL,
[Username] NVARCHAR (MAX) NULL,
[Password] NVARCHAR (MAX) NULL,
[ConfirmPassword] NVARCHAR (MAX) NULL,
[FirstName] NVARCHAR (MAX) NULL,
[LastName] NVARCHAR (MAX) NULL,
[Company] NVARCHAR (MAX) NULL,
[Position] NVARCHAR (MAX) NULL,
[Phone] NVARCHAR (MAX) NULL,
[Zip] NVARCHAR (MAX) NULL,
[State] NVARCHAR (MAX) NULL,
[City] NVARCHAR (MAX) NULL,
[Address] NVARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([AccountID] ASC),
CONSTRAINT [CK_Account_AccountID] CHECK ((1)=(1))
);
----------------------------------------------------------------------
Вот так???
16 ноя 16, 07:24    [19898497]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
Massa52
Member

Откуда:
Сообщений: 382
vip1987,

Нет, - таблицу оставь в покое.
Для получения подряд пронумерованной выборки из таблицы используй VIEW, куда и надо
вставить строчку ROW_NUMBER() OVER (ORDER BY AccountID) AS row.
16 ноя 16, 08:03    [19898541]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
vip1987
Member

Откуда:
Сообщений: 5
Все... конкретно запутался я...
19 ноя 16, 18:22    [19911892]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
Massa52
Member

Откуда:
Сообщений: 382
vip1987,

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[vw_Account]
AS
SELECT        ROW_NUMBER() OVER (ORDER BY AccountID) AS rowNumber, Email, Username, Password, ConfirmPassword, FirstName, LastName, Company, Position, Phone, Zip, State, City, Address
FROM            dbo.Account

GO
21 ноя 16, 06:02    [19914380]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с нумерацией строки Id  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31822
vip1987
Дак вот как мне сделать что б строки при удалении например переназначались по порядку?
Можно просто нумеровать при выводе на экран.

Задача непонятна, в общем. Она разовая или нет? Нужно перенумеровывать записи при каждом удалении, то есть id строк будут постоянно меняться? В документах эти id будут или нет? При печати документа у записи будет каждый раз разный id?
21 ноя 16, 08:53    [19914469]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить