|
|
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
CREATE PROCEDURE createStructuralSubdivision @NameSubdivision AS nvarchar(MAX) AS INSERT INTO StructuralSubdivision SELECT (COUNT(*)+1) AS idSubdivision, @NameSubdivision AS NameSubdivision FROM StructuralSubdivision (COUNT(*)+1) Мне сказали, что опасная процедура, ибо при большом количестве запросов... Поставит только один. Ну я вообще не понял, что мне пытались объяснить... Подскажите что не так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 21:44 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinПодскажите что не так... Забей, для лабы сойдёт. Всё равно программистом тебе не работать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:06 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
во первых не count(*) а max(id)+1 во вторых представьте что два запроса одновременно будут вычислять максимум. Оба получат одинаковое значение - будет конфликт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:08 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
То есть max(id)+1 подходит? Если два запроса придут почти одновременно. Не будет конфликта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:13 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Как раз таки не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:13 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinНу я вообще не понял, что мне пытались объяснить... Видимо, тебе пытались объяснить, что правильно подобная (ошибки уже указали в топике) процедура будет работать только на уровне изоляции SERIALIZABLE. Т.е. в режиме "всем разойтись, я сейчас запись добавлять буду... И пока не довавлю -- всем не двигаться!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:14 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinDimitry Sibiryakov, Как раз таки не подходит. должен быть max(id)+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:15 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, А как сделать так, чтобы не расходились ? :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:16 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
Все понял. Спасибо большое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:16 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinMasterZiv, А как сделать так, чтобы не расходились ? :D А чтобы не расходились, надо использовать всяческие умные генераторы идентификаторов: sequence, identity, autoid, и подобные. Подробности см. в документации по твоей СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:20 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Ну а вообще генераторы. Это сложная вещь? Я так понимаю надо ставить штуку, чтобы ориентировалась по времени. Какой там запрос пришел(отправили) раньше, тот и ставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:25 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinКак раз таки не подходит. А другого выхода нет. Если ты весь семестр маялся дурью и о предмете не знаешь даже название, то ничего другого как выпрашивать у препода хотя бы троечку тебе не светит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:42 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinMasterZiv, Ну а вообще генераторы. Это сложная вещь? Нет, не сложная. RasinЯ так понимаю надо ставить штуку, чтобы ориентировалась по времени. Какой там запрос пришел(отправили) раньше, тот и ставить. Нет, понимаешь ты неправильно. Не надо никакие штуки испльзовать, надо испльзовать родные для твоей СУБД нетранзакционные генераторы. Можешь сказать, какая у тебя СУБД, я тебя ткну носом в страницу документации, которую нужно прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:42 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, ткните носом пожалуйста. Ибо я не понимаю, что надо делать... Microsoft SQL server 2008 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:44 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
Rasin, http://www.w3schools.com/sql/sql_autoincrement.asp -- тут общее, для всех СУБД. Точнее для нескольких. http://msdn.microsoft.com/ru-ru/library/ms186775.aspx -- тут конкретно для MS SQLServer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 22:56 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а еще не подскажите? пока не ушли. Процедура обновления названия должности Просто мне кажется , что будет меня всех дизайнеров на художников. А надо одну , допустим, должность сотрудника поменять. Как сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 23:04 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinMasterZiv, а еще не подскажите? пока не ушли. Процедура обновления названия должности Просто мне кажется , что будет меня всех дизайнеров на художников. А надо одну , допустим, должность сотрудника поменять. Как сделать? Ты зря не прикладываешь код непосредственно в сообщение. Я не понял, что я должен подсказать. Там есть процедура, и есть её вызов. Ну и что же тут подсказывать ? Процедура кстати плохая -- там меняется первичный ключ таблицы. Т.е. по какому полю ищется -- то поле и меняется. Это плохо, как правило. в 90% случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 23:08 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, CREATE PROCEDURE ChangeJobTitle @jobTitle1 as nvarchar (MAX), @jobTitle2 as nvarchar (MAX) AS UPDATE dbo.Post set jobTitle = @jobTitle2 WHERE jobTitle = @jobTitle1 EXEC changeJobTitle @jobTitle1 = 'Дизайнер', @jobTitle2 = 'Художник' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 23:13 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
Rasin, ты бы сказал сначала, что нужно сделать: переименовать должность (все дизайнеры теперь именуются художниками) или перевести человека на другую должность (конкретный Петров из дизайнеров перводится в художники). Глядишь, сам бы и понял, как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 16:26 |
|
||
|
Процедура внесения новой записи
|
|||
|---|---|---|---|
|
#18+
RasinMasterZiv, CREATE PROCEDURE ChangeJobTitle @jobTitle1 as nvarchar (MAX), @jobTitle2 as nvarchar (MAX) AS UPDATE dbo.Post set jobTitle = @jobTitle2 WHERE jobTitle = @jobTitle1 EXEC changeJobTitle @jobTitle1 = 'Дизайнер', @jobTitle2 = 'Художник' Уже лучше, но можно без спойлеров. Когда твоё сообщение состоит только из текста программ, зачем спойлеры ? Даже если было бы что-то ещё, программы твои короткие, зачем спойлер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 17:28 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=24&tid=1540692]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 391ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...