Как сделать счетчик в sql
Для создания счетчика в SQL вы можете использовать функцию COUNT() . Эта функция используется для подсчета числа строк в таблице, которые соответствуют определенному условию.
Например, чтобы подсчитать количество строк в таблице my_table, где столбец status равен completed, используйте следующий запрос:
SELECT COUNT(*) FROM my_table WHERE status = 'completed';
В результате выполнения этого запроса вы увидите количество строк в таблице, которые соответствуют условию.
Также вы можете использовать функцию SUM() для подсчета суммы значений в столбце, которые соответствуют определенному условию. Например, чтобы подсчитать сумму значений в столбце price для строк в таблице my_table, где столбец status равен completed, используйте следующий запрос:
SELECT SUM(price) FROM my_table WHERE status = 'completed';
В результате выполнения этого запроса вы увидите сумму значений в столбце price, которые соответствуют условию.
Обратите внимание, что функции COUNT() и SUM() могут использоваться в сочетании с другими функциями и операторами для создания более сложных счетчиков.
Счётчик
В Аксесе можено было установить для числового поля свойство AutoIncrement и слелать таким образос счётчик! А в SQL Server с этим как?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Счетчик в запросе
проблемма такая : нужно получить порядковые номера записей в запросе. то есть чтоб запрос сам.
Автоинкрементный счетчик
В общем такая вот штука: в sql server 2008 не могу понять как добавить запись в которой.
Триггер-счетчик
Есть таблица Участники и отдельная таблица Кол-во участников с int полем amount, которое выступает.
Модифицировать целочисленное поле в счетчик
Вообщем, есть интовое поле и нужно модифицировать его в интовый счетчик create database test .
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
Установил у числового поля свойство identity = Yes. О счётчик не заработал! Ком птебует ручного ввода туда значения!?
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
ID int Identity (1,1)
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
так в свойствах столбца установлно а вот в если в определении таблицы щулкую на поле то там нет! а там мне как свойства подправить!?
Добавлено через 1 минуту
Сообщение от sanya0107 
ID identity (1,1) попробуй!!
Это как понимать! куда это писать!?
126 / 126 / 24
Регистрация: 14.02.2010
Сообщений: 289
это объявление столбца с именем ID и дальше указан его тип как целый и указано что это счетчик начинается с 1-цы и с шагом +1!
Приобретите или скачайте литературу по SQL Server!
Регистрация: 17.12.2014
Сообщений: 322
Листинг 5.3. Синтаксис оператора SET IDENTITY_INSERT
SET IDENTITY_INSERT [[.].]
< ON | OFF >;
IDENTITY (, )
Для подобного автоинкрементного столбца нельзя задавать значение по умолчанию
(предложение DEFAULT). Столбец с такой характеристикой должен иметь тип данных
TINYINT, SMALLINT, INT, BIGINT, DECIMAL или NUMERIC. Если ему задается тип данных
DECIMAL или NUMERIC, то количество дробных знаков должно быть указано нулевым.
Столбец типа IDENTITY может быть в таблице только один.
1 2 3 4 5 6 7 8 9 10
CREATE TABLE [dbo].[test_]( [№] [int] IDENTITY(1,1) NOT NULL, [Test1] [int] NULL, [Test2] [nvarchar](max) NULL, [Test3] [date] NULL, CONSTRAINT [PK_test_] PRIMARY KEY CLUSTERED ( [№] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Работа с MS SQL в Delphi. Создаем поле-счетчик в таблицах MS SQL Server

Доброго времени суток дорогие друзья. Давненько я ничего не писал. Решил написать статью про Microsoft SQL Server, так как много вопросов было по этому поводу, а если быть точным, то о том, как можно создать поле Счетчик в MS SQL Server.
Все знают замечательный тип данных в MS Access – Счетчик, который сам увеличивает значение при добавлении новой строке данных в таблицу. Многие бы хотели сделать тоже самое и в Microsoft SQL Server. Это возможно и очень просто, поэтому в данной статье мы рассмотрим эту возможность. Кроме этого, я расскажу: как я создаю БД, к ним таблицы и другие данные. Ну и напоследок, мы рассмотрим, как можно подключиться к SQL Server через ADO в Delphi.
Ничего сложного нет и для начала нам необходим MS SQL Server, который можно взять с официального сайта Microsoft (я установил 2005 версию). Поэтому скачиваете, если у Вас нет его еще, устанавливаете и запускаете. Для создания баз данных, их редактирования, присоединения к серверу, я использую среду Microsoft SQL Server Management Server Studio Express. Если честно, то довольно мощное средство. Поэтому, для нашей статьи, данное программное обеспечением нам также понадобится. Его Вы также можете скачать с официального сайта Microsoft, делаем это и устанавливаем.
После того как у нас установлен MS SQL Server и приложение для доступа к нашему серверу, нам необходимо подключиться к нему. Поэтому, запускаем SQL Server Management Server Studio Express и подключаемся к нашему серверу (из списка выбрать нужный сервер, если у Вас их несколько):

В данном окне выбрали нужное имя сервера и нажали на кнопку Соединить. После этого, в обозревателе объектов, мы можем наблюдать список всех объектов, которые мы можем создавать, изменять, удалять на сервере. Начать необходимо с создания базы данных, поэтому, нажимаем правой кнопкой мыши по объекту Базы данных и из контекстного меню выбираем пункт Создать базу данных…

В появившемся окне нам необходимо ввести имя базы данных и сделать соответствующие настройки. Я все оставил стандартно, если Вам необходимо иметь какие-то определенные настройки, то сделайте это. Затем нажмите на кнопку ОК. После этого, в обозревателе объектов у Вас должна появиться Ваша база данных, для которой мы можем создавать другие объекты: таблицы, индекса и так далее.
Мы раскрываем в обозревателе объектов пункт Базы данных и находим в списке нашу созданную БД, которую также раскрываем. В данном списке находим объект Таблицы и по нему нажимаем правой кнопкой мыши, после чего, в контекстном меню выбираем пункт Создать таблицу…

В следующем окне нам необходимо создать таблицу: задать список полей, задать имя таблицы и внимание. Задать типы данных полей, в том числе и для нашего поля-счетчика. Если Вы определились со списком полей, с именем таблицы и с типами, то давайте зададим тип счетчик для нашего поля. Оно у меня называется id и тип я ему задал int:

Для того чтобы в нем увеличивалось значение на единицу автоматически, Вам необходимо перейти в окно Свойства столбцов, которое находится ниже. То есть, Вы выделяете наш столбец (id) и переходим в его свойства, где находим свойство – Спецификация идентифицирующего столбца. Раскрываем данное свойство и в поле (Является идентифицирующим столбцом) устанавливаем значение Да.
Дальше у Вас станут доступны следующие свойства: Начальное значение и Приращение. Вы можете при помощи них задать значение, с которого у Вас будет начинаться счетчик, а также значение – на которое у Вас будет увеличиваться счетчик. Все, сохраняете таблицу, затем открываете ее в среде и пробуйте ввести какие-то значение, поле id у Вас будет не доступно для ввода, так как его значение будет формироваться автоматически:

Вот так вот, теперь Вы знаете, как можно создать поле Счетчик в таблицах базы данных MS SQL Server. Ничего в этом сложного нет. Нам теперь остается лишь рассмотреть возможность подключение к базе данных SQL Server в Delphi, при помощи компонентов ADO. Ну что, давайте приступим к рассмотрению нашей последней части статьи.
Устанавливаем на форму компонент TADOConnection и TADOQuery, связываем их. В свойстве Connection компонента TADOQuery указываем имя компонента TADOConnection. Затем выделяем компонент TADOConnection и следующие его свойства устанавливаем в значения:
Открываем свойства ConnectionString и настраиваем строку подключения к нашему серверу и соответственно базе данных. В первой вкладке, выбираем поставщика данных – Microsoft OLE DB Provider for SQL Server, затем нажимаем кнопку Далее>>, где указываем имя сервера, а затем и имя нашей базы данных.

Все, затем нажимаем на кнопку Проверить подключение, если оно прошло успешно, то нажимаем на кнопку ОК и устанавливаем свойство Connected компонента TADOConnection в True.
Вот примерно и все. Далее Вы можете делать запросы, либо работать с данными SQL Server как и в работа с ADO в Delphi.
Кстати, Вы можете присоединить свою базу данных к серверу при помощи среды Microsoft SQL Server Manegement Studio Express, либо же при помощи Delphi (когда делаете подключение). В итоге, в данной статье мы рассмотрели ответы на следующие вопросы (которые задавали Вы):
- Создать базу данных на SQL Server
- Создать таблицу
- Создать поле Счетчик в таблице MS SQL Server
- Подключиться к MS SQL Server в Delphi (использовали технологию ADO)
- Присоединить БД к MS SQL Server
Ну что, теперь я буду с Вами прощаться, задавайте еще вопросы и до новых встреч дорогие друзья, всего Вам самого наилучшего. Не забудьте прочитать статью о том, как можно подключиться к БД MySQL при помощи ADO.
Похожие записи
- Работа с ADO в Delphi. Часть 1
- Работа с ADO в Delphi. Часть 11. Получение информации набора данных
- Работа с ADO в Delphi. Часть 2
- Работа с ADO в Delphi на примере БД MS Excel. Часть 1
- Работа с ADO в Delphi на примере БД MS Excel. Часть 2
Создание поля автоинкремента (счетчика) в таблице базы данных MS SQL Server, которая размещается в «*.mdf»-файле
Создание поля автоинкремента (счетчика) в таблице базы данных MS SQL Server , которая размещается в «*.mdf» -файле
В данной теме показано как создать поле-счетчик (уникальное поле) в таблице базы данных Microsoft SQL Server , которая размещается в файле «MyDataBase.mdf» .
Данная тема базируется на предыдущих темах:
- Пример создания/подключения локальной базы данных в системе MS SQL Server , которая размещается в отдельном «*.mdf» -файле»;
- Пример создания таблицы в локальной базе данных системы MS SQL Server , которая размещается в отдельном «*.mdf» файле .
Поиск на других ресурсах:
Условие задачи
Заданы файлы «MyDatabase.mdf» и «MyDataBase.ldf» базы данных, которые предназначены для работы в системе управления реляционными базами данных Microsoft SQL Server . Файлы можно скачать в архиве здесь .
База данных содержит одну таблицу с именем Source . Таблица Source содержит следующие поля:
- ID_Source – целого типа ( int );
- Name – типа «строка» из 50 символов;
- Address – типа строка из 100 символов.
В задаче нужно сделать поле ID_Source уникальным счетчиком. При добавлении новой записи в таблицу, значение поля должно увеличиваться на 1 (автоинкрементное поле), то есть быть уникальным.
Выполнение
1. Подключение «*.mdf» -файла базы данных в MS Visual Studio
Запустить на выполнение MS Visual Studio .
С помощью утилиты Server Explorer нужно подключить ранее созданніе файлы «MyDataBase.mdf» и «MyDataBase.ldf» . Архив с файлами можно загрузить здесь .
Рекомендуется, чтобы файлы были размещены в одном каталоге.
Пример добавления готового (ранее созданного) «*.mdf» -файла локальной базы данных к MS Visual Studio подробно описывается в статье:
После подключения базы данных в окне Server Explorer будет отображена база данных «MyDataBase.mdf» (рисунок 1).
База данных содержит одну таблицу Source (рисунок 2), которая содержит поля в соответствии с условием задачи.

Рис. 1. База данных MyDataBase.mdf в окне Server Explorer

Рис. 2. Таблица Source
2. Настройка поля ID_Source как счетчика. Свойство «Identity Column»
В соответствии с условием задачи поле ID_Source может быть уникальным. Современные базы данных поддерживают уникальность полей. Это означает, что при добавлении новой записи в базу данных автоматически формируется новое уникальное значение. Как правило, при добавлении новой записи для целого типа новое уникальное значение увеличивается на 1 относительно предшествующего уникального значения (необязательно). Невозможно изменить вручную или программно значение записей поля, которое есть счетчиком (уникальным значением). Всю эту работу берет на себя система управления базами данных.
Чтобы установить поле ID_Source уникальным, нужно выполнить следующие действия:
- раскрыть вкладку Tables в базе данных MyDataBase.mdf (рисунок 3);
- в вкладке Tables сделать правый клик «мышкой» и из контекстного меню вызвать команду «Open Table Definition» (рисунок 3). В результате откроется окно определения полей таблицы;
- активировать поле ID_Source и в окне свойств «Properties» установить значение свойства «Identity Column = ID_Source» (рисунок 4);
- сохранить и закрыть таблицу Source .

Рис. 3. Команда «Open Table Definition»

Рис. 4. Установление свойства Identity Column в значение ID_Source
После выполненных действий поле ID_Source будет автоматически генерировать уникальное целочисленное значение.
Теперь эту таблицу можно использовать в своих проектах.
3. Заполнение таблицы данными
После установлки в таблице поля ID_Source как уникального счетчика можно программно или вручную заполнять таблицу данными (записями).
Чтобы заполнить таблицу данными (записями) нужно выполнить следующие действия:
- вызвать контекстное меню с помощью правого клика мышкой на таблице Source и из контекстного меню выбрать команду «Show Table Data» (рисунок 5). В результате откроется окно ввода данных в таблицу (рисунок 6);
- ввести данные в таблицу Source . Поскольку, поле ID_Source есть счетчиком, то вводить данные в это поле не удастся. Можно вводить данные только в полях Name и Address . Значение поля Source будет генерироваться автоматически.

Рис. 5. Команда «Show Table Data»

Рис. 6. Ввод данных в таблицу Source
Связанные темы
- 001 — Пример создания/подключения локальной базы данных Microsoft SQL Server , которая размещается в «*.mdf» -файле
- 002 — Пример создания новой таблицы в локальной базе данных Microsoft SQL Server , размещенной в «*.mdf» -файле
- 004 — Создание связи (отношения) типа «один ко многим» между таблицами базы данных MS SQL Server
- 005 — Пример создания «*.mdf» файла локальной базы данных Microsoft SQL Server в Microsoft Visual Studio
- 006 — Строка соединения с базой данных. Пример использования в приложениях
- 001 — Пример создания/подключения локальной базы данных Microsoft SQL Server , которая размещается в «*.mdf» -файле
Программирование: теория и практика
- C# (176)
- Практика (46)
- MS Visual Studio 2010 (34)
- MS Visual Studio 2017 (7)
- MS Visual Studio 2019 (13)
- ADO .NET (7)
- Практика (31)
- Borland C++ Builder 2007 (16)
- MS Visual Studio 2010 (18)
- Visual C++ (136)
- Практика (6)
- Теория (102)
- Практика (1)
- Теория (21)
- Практика (1)
- Теория (21)
- Практика (20)
- Delphi-7 (4)
- Embarcadero RAD Studio 2010 (18)
- Практика (4)
- Теория (92)
- SQL (5)
- Patterns. Паттерн State (Состояние). Структура. Реализация на C++ 19 ноября, 2023
- Patterns. Паттерн Abstract Factory. Решение задачи о составляющих компьютера 7 октября, 2023
- Patterns. Паттерн Prototype. Реализация схемы на C++ 22 сентября, 2023
- Patterns. Паттерн Composite (Компоновщик). Дерево. Реализация на C++ 18 сентября, 2023
- Patterns. Паттерны. Сравнение паттернов Abstract Factory, Factory Method и Prototype 12 сентября, 2023
- Patterns. Паттерн Factory Method (Фабричный метод). Реализация структуры, простейший случай 6 сентября, 2023
- Patterns. Паттерн Bridge. Реализация структуры на C++ 6 сентября, 2023
- Паттерны проектирования. Паттерн Facade (Фасад) 29 августа, 2023
- SQL. Числовые типы данных. Обзор. Примеры 25 августа, 2023
- C++. Наследование шаблонных классов. Добавление нового типа в унаследованных классах 9 августа, 2023
При использовании материалов сайта, ссылка на сайт обязательна.
- Практика (46)