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

Откуда:
Сообщений: 272
Я так понимаю у каждой строки в базе есть свой внутренний идентификационный номер и в SQL это NEWID().
Или нет??
Мне надо его получить.
Пробую вот так
select NEWID() as N from Clients where Id='Kristall'


Но это не то ... Каждый раз разный номер ...
21 ноя 13, 08:07    [15165898]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
StarikNavy
Member

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

Откройте для себя BOL

Функция
NEWID (Transact-SQL)
Создает уникальное значение типа uniqueidentifier.
21 ноя 13, 08:55    [15166043]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Tanya_0306,

опубликуйте DDL-код таблицы Clients.
21 ноя 13, 09:01    [15166068]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
Tanya_0306,

NEWID() - Creates a unique value of type uniqueidentifier
думаю это не то что вы хотите

лучше напишите с какой целью вам это надо
21 ноя 13, 09:13    [15166105]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
Tanya_0306
Member

Откуда:
Сообщений: 272
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Clients](
	[Id] [varchar](25) NOT NULL,
	[Client] [varchar](100) NULL,
	[Identifier] [varchar](25) NULL,
	[Adress] [varchar](50) NULL,
	[Contact] [varchar](50) NULL,
	[Tel] [varchar](25) NULL,
	[Remark] [varchar](100) NULL,
 CONSTRAINT [PK_Clients] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

Я буду записывать данные из таблиц в xml файл. И вот если в другой таблице, к примеру Contracts, есть ссылка на поле таблицы Clients хотела бы написать идентификатор уникальный в пределах базы.
21 ноя 13, 09:19    [15166136]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Tanya_0306
если в другой таблице, к примеру Contracts, есть ссылка на поле таблицы Clients хотела бы написать идентификатор уникальный в пределах базы.

Такого идентификатора не существует.
Пишите идентификатор, уникальный в пределах таблицы Contracts, т.е. PRIMARY KEY из той таблицы.
21 ноя 13, 09:34    [15166213]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
Tanya_0306
Member

Откуда:
Сообщений: 272
Гость333,

А возможно ли в качестве PRIMARY_KEY записыввать NEWID() ?? Ведь тогда в пределах базы уникальность строки гарантируется.
Если да - то где это прописывается.
21 ноя 13, 11:47    [15167102]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tanya_0306
Если да - то где это прописывается.

В свойствах поля разумеется
21 ноя 13, 11:51    [15167127]     Ответить | Цитировать Сообщить модератору
 Re: Получить внутренний номер строки  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Tanya_0306
А возможно ли в качестве PRIMARY_KEY записыввать NEWID() ??

По ряду причин это очень плохая идея.
Возможно, вам подойдёт уникальный идентификатор в виде сочетания "имя таблицы" + "первичный ключ в таблице".
21 ноя 13, 11:52    [15167133]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить