2012-03-03 5 views
2

Мне нужно установить максимальное количество строк в SQL Server Compact 3.5 Database таблицы: база данных состоит из нескольких таблиц, и каждая таблица должна иметь различное максимальное количество строк.Как установить максимальное количество строк в таблице SQL Server?

Если да, то каково правило по умолчанию, когда таблицы заполнены? Могу ли я установить собственное правило (например, я бы удалил строку с минимальным ID, где ID - это столбец)?

+3

Это очень редкая функция, встроенная в РСУБД ... Вам просто нужно сделать это вручную с помощью count() и т. Д .; nosql часто поддерживает этот тип вещей более непосредственно (например, LTRIM на redis), но это другая парадигма –

+0

+1, мне было бы интересно узнать, почему вам нужно максимальное количество строк, это необычный запрос для не- статическая таблица. – Ben

+0

@Ben: Я хотел бы держать под контролем размер файла базы данных. – enzom83

ответ

1

Без триггеров у вас может быть таблица с одним столбцом целых чисел от 1 до максимальной строки #, а затем в таблице, где вы хотите разрешить только до max row # определить столбец номера строки с ограничением UNIQUE и ограничением внешнего ключа, указывающим на таблицу с 1 по max row #. Вам нужно будет обрабатывать следующий номер строки с правильным значением, и вам нужно будет написать код для обработки исключения ограничения внешнего ключа, как только вы достигнете максимальной строки #. Очевидно, что это довольно большой взлом и не будет хорошо поддерживать.

1

IMHO ответ нет - SQL Server не имеет опции конфигурации для того, что вы просите.

С выпусков SQL Server поддерживает триггеры можно добиться того, что вы хотите с ДО INSERT триггеры (по одному на стол) ... которые позволили бы для реализации все, что нужно, как правило, для «полной» таблицы ситуации ...

Поскольку SQL Server Compact НЕ поддерживает триггеры, я не вижу способа реализовать то, что вы просите ...

Смежные вопросы