Регистрация

В нумераторе освободились номера

Примеры SQL-скриптов, тонкости настройки БД и прочее

Модератор: Модераторы форума

Гуру
Аватара пользователя
Сообщения: 529
Зарегистрирован: 31 янв 2012, 13:32
Откуда: Оттуда

В нумераторе освободились номера

Сообщение Vanoha » 25 дек 2013, 19:00

Из-за непонятного сбоя в нумераторе многие номера с 1 по 4 номер поосвобождались.
Непонятно пока почему.
Вопрос:
Что именно содержится в колонке [ParentRowIDNumberUID] в таблице d47f2c38-6553-4864-baff-0bc4d3a85290 (Занятые номера нумератора)?
DV5 (НО 7 и 8 ). Когда-то был 4.5.1966

Новичок
Сообщения: 5
Зарегистрирован: 23 дек 2013, 16:08

Re: В нумераторе освободились номера

Сообщение dimon_upi » 26 дек 2013, 09:17

-- может не в тему, но вот простейщий сканер колонок таблиц по заданному значению
-- с его помощью можно расковырять практически любую базу если не указаны отношения таблиц и понять что и где

ALTER PROC my_find_target @target VARCHAR(30), @def VARCHAR(128), @int_type INT = 0
AS begin

DECLARE @t TABLE (num INT IDENTITY(1,1), [NAME] VARCHAR(60))

INSERT INTO @t ([name])
SELECT [NAME]
FROM sysobjects AS a
WHERE xtype = 'U' and uid = 1 AND EXISTS (SELECT 1 FROM syscolumns WHERE [id] = a.[id] AND [NAME]= @target AND (xtype IN (175,239,231,167) OR (@int_type = 1 AND xtype = 56)) )

IF OBJECT_ID('tempdb..#t','U') IS NOT NULL DROP TABLE #t
CREATE TABLE #t ([name] VARCHAR(60))
DECLARE @num INT; SET @num = 1
DECLARE @name VARCHAR(60);
IF OBJECT_ID('tempdb..#target_list','U') IS NULL AND LTRIM(@def) IS NULL BEGIN
SELECT '#target_list or @target не определены'
RETURN 0
END

WHILE EXISTS (SELECT 1 FROM @t WHERE num = @num) BEGIN
SElect @name = [name] FROM @t WHERE num = @num
IF LTRIM(@def) IS NULL
exec ('if exists (Select 1 from ' + @name + ' where ' + @target+ ' in (Select target from #target_list)) insert into #t Select ''' + @name + '''')
else
exec ('if exists (Select 1 from ' + @name + ' where ' + @target+ ' = ''' + @def+''') insert into #t Select ''' + @name + '''')
SET @num = @num +1
END

SELECT 'select '''+ [NAME]+''' ['+[NAME]+'], * from ' + [NAME] + ' where ' + @target + ' ='''+@def+'''' FROM #t
end

Новичок
Сообщения: 1
Зарегистрирован: 28 янв 2019, 08:31

Re: В нумераторе освободились номера

Сообщение Nookamikha » 28 янв 2019, 08:34

The story that has been read is very good for me. Because it can give good ideas to me immediately after reading.

Вернуться в SQL в Docsvision

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1