Измените 4 на столько цифр, сколько вам нужно. Это вернуло бы 0001 для product_number 1.

я есть база данных SQLite, которая должна содержать продукты. Эти продукты имеют составной номер продукта фиксированного формата, состоящий из категории, группы и номера продукта (cccccc.gg.ppp). Каждый раз, когда вставляется новый продукт, новый номер продукта должен создаваться с использованием номеров категорий и групп, за которым следует наибольший номер продукта в этой группе, увеличенный на единицу.

Для этого я думал о том, чтобы сохранить все три числа в отдельных полях и использовать представление для динамической сборки номера продукта. Чтобы это работало, мне нужно добавить начальные нули, так как формат номера продукта фиксирован.

Тем не менее, я не могу найти встроенную функцию SQLite, которая позволила бы мне сделать это ... :-(

Я бы не стал писать пользовательские функции, поскольку нам, возможно, придется делиться базой данных с другими разработчиками, чтобы они могли читать данные; и я понятия не имею, какую платформу или язык они собираются использовать.

Можно ли это сделать? Или нам нужно будет найти другое решение?

Ответы на вопрос(4)

Ваш ответ на вопрос