Вы можете создать две таблицы - одну для записи для таблицы Html как таковой (с гарантированным уникальным значением ID
и именем таблицы Html), а другую для данных, содержащихся в таблице:
CREATE TABLE dbo.HtmlTables
(ID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
HtmlTableName VARCHAR(100) -- or whatever length you need
)
CREATE TABLE dbo.HtmlTableData
(ID INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
HtmlTableID INT NOT NULL,
Sequence INT NOT NULL,
Key INT,
Value VARCHAR(500)
)
Вы захотите создать ссылочную целостность внешнего ключа между двумя таблицами в поле HtmlTables.ID
:
ALTER TABLE dbo.HtmlTableData
ADD CONSTRAINT FK_HtmlTableData_HtmlTables
FOREIGN KEY(HtmlTableID) REFERENCES dbo.HtmlTables(ID)
и вы, скорее всего, также хотите, чтобы каждый порядковый номер отображался только один раз для каждого HtmlTableID, поэтому создайте уникальный индекс.
CREATE UNIQUE INDEX UIX01_HtmlTableData
ON dbo.HtmlTableData(HtmlTableID, Sequence)
Теперь вы можете хранить каждую таблицу HTML в записи в dbo.HtmlTables
, и каждая строка в сетке может сохраняться в строке в dbo.HtmlTableData
и связываться с записью таблицы HTML посредством отношения внешнего ключа, и будет правильно упорядочен с помощью поля Sequence
.