Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
Ребят, познаю самые азы , но не могу найти нигде информацию по поводу , как динамически сгенерировать следующее число по порядку для строчки ID в базе при добавлении новой строки.

Иными словами есть база данных и в ней 16 строк , мне нужно добавить в нее новую строку с помощью INSERT и в первой колонке(gameID) прописать 17 , но не напрямую руками.

INSERT INTO GAME (gameName,gameGenre,gameReleaseDate,gameFee,gameRating)
VALUES ('Lord of the Rings Online','Fantasy','2007-04-24','14.99','7.9');


Заранее благодарен.
1 окт 15, 04:27    [18217859]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
Добрый Э - Эх
Guest
SMERKULOV1,

identity, sequence
1 окт 15, 05:00    [18217863]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20970
SMERKULOV1
есть база данных и в ней 16 строк , мне нужно добавить в нее новую строку с помощью INSERT и в первой колонке(gameID) прописать 17

Почему именно 17? А если "в ней 16 строк", но значения "в первой колонке(gameID)" у этих записей от 11 до 26?
1 окт 15, 09:57    [18218461]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4400
SMERKULOV1
как динамически сгенерировать следующее число по порядку для строчки ID в базе при добавлении новой строки.

Как вам больше нравится - использовать штатные механизмы или вы любите креативить и изобретать свой собственный велосипед?
1 окт 15, 10:38    [18218726]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
Akina,

http://www.imageup.ru/img277/2243454/image-01-10-15-07-50.jpeg.html

Вот так выглядит таблица.
1 окт 15, 14:58    [18221082]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
SQL2008,

Я бы с удовольствием не пытался изобрести свой велосипед, но у меня по ассайменту задание такое на дополнительные баллы.
1 окт 15, 14:59    [18221100]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
Glory
Member

Откуда:
Сообщений: 104760
SMERKULOV1
но у меня по ассайменту задание такое на дополнительные баллы.

Что прямо так и написано, что новое число нужно генерировать исходя из текущего количества записей ?
1 окт 15, 15:06    [18221157]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
Glory,

Фактически да.
'If you can dynamically generate the next available ID instead of hardcoding #17...the change can only be made in the INSERT syntax."

http://www.imageup.ru/img277/2243482/image-01-10-15-08-14.jpeg.html
1 окт 15, 15:18    [18221234]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
Glory
Member

Откуда:
Сообщений: 104760
SMERKULOV1
Фактически да.
'If you can dynamically generate the next available ID instead of hardcoding #17...the change can only be made in the INSERT syntax."

Фактически - вы врете.
Наверное в виду слабого понимания английского

А во вторых, тестовые задания нужно решать самостоятельно.
Потому что они должны оценить ваш уровень, а не уровень других
1 окт 15, 15:21    [18221254]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
Glory,

Они не тестовые, а домашние , где я обязан разобраться в материале и подкрепить его практикой. Здесь я задал интересующий меня вопрос чтобы мне объяснили , как это можно сделать для того чтобы я это запомнил, разобрался и больше никогда не возвращался к этой задаче. К сожалению, я не смог найти конкретную информацию по этому вопросу в гугле, но если вы знаете какой-нибудь источник по данному вопросу , то будьте так добры и сообщить мне его.
1 окт 15, 16:05    [18221556]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4400
автор
чтобы я это запомнил, разобрался и больше никогда не возвращался


Запомните, разберитесь и больше никогда не возвращайтесь

DECLARE @ID INT;

BEGIN TRAN
SELECT @ID = MAX(ID) FROM GAME;

SELECT @ID = ISNULL(@ID,0)+1;

INSERT INTO GAME (gameID,gameName,gameGenre,gameReleaseDate,gameFee,gameRating)
VALUES (@ID,'Lord of the Rings Online','Fantasy','2007-04-24','14.99','7.9');
COMMIT TRAN

Про уровни изоляции пока промолчу...
1 окт 15, 16:58    [18221941]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SMERKULOV1
Member

Откуда:
Сообщений: 6
SQL2008,

Спасибо большое!
1 окт 15, 19:43    [18222903]     Ответить | Цитировать Сообщить модератору
 Re: динамически генерировать следющий ID вместо просто ввода следующего числа вручную  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4400
Насчет
Запомните, разберитесь и больше никогда не возвращайтесь

я конечно пошутил
2 окт 15, 09:30    [18224429]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить