Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
SMERKULOV1, identity, sequence |
1 окт 15, 05:00 [18217863] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20970 |
Почему именно 17? А если "в ней 16 строк", но значения "в первой колонке(gameID)" у этих записей от 11 до 26? |
||
1 окт 15, 09:57 [18218461] Ответить | Цитировать Сообщить модератору |
SQL2008 Member Откуда: Москва Сообщений: 4400 |
Как вам больше нравится - использовать штатные механизмы или вы любите креативить и изобретать свой собственный велосипед? |
||
1 окт 15, 10:38 [18218726] Ответить | Цитировать Сообщить модератору |
SMERKULOV1 Member Откуда: Сообщений: 6 |
Akina, http://www.imageup.ru/img277/2243454/image-01-10-15-07-50.jpeg.html Вот так выглядит таблица. |
1 окт 15, 14:58 [18221082] Ответить | Цитировать Сообщить модератору |
SMERKULOV1 Member Откуда: Сообщений: 6 |
SQL2008, Я бы с удовольствием не пытался изобрести свой велосипед, но у меня по ассайменту задание такое на дополнительные баллы. |
1 окт 15, 14:59 [18221100] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Что прямо так и написано, что новое число нужно генерировать исходя из текущего количества записей ? |
||
1 окт 15, 15:06 [18221157] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Фактически - вы врете. Наверное в виду слабого понимания английского А во вторых, тестовые задания нужно решать самостоятельно. Потому что они должны оценить ваш уровень, а не уровень других |
||
1 окт 15, 15:21 [18221254] Ответить | Цитировать Сообщить модератору |
SMERKULOV1 Member Откуда: Сообщений: 6 |
Glory, Они не тестовые, а домашние , где я обязан разобраться в материале и подкрепить его практикой. Здесь я задал интересующий меня вопрос чтобы мне объяснили , как это можно сделать для того чтобы я это запомнил, разобрался и больше никогда не возвращался к этой задаче. К сожалению, я не смог найти конкретную информацию по этому вопросу в гугле, но если вы знаете какой-нибудь источник по данному вопросу , то будьте так добры и сообщить мне его. |
1 окт 15, 16:05 [18221556] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
SMERKULOV1 Member Откуда: Сообщений: 6 |
SQL2008, Спасибо большое! |
1 окт 15, 19:43 [18222903] Ответить | Цитировать Сообщить модератору |
SQL2008 Member Откуда: Москва Сообщений: 4400 |
Насчет
я конечно пошутил ![]() |
||
2 окт 15, 09:30 [18224429] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |