Которые блокируют подсказки, я должен использовать (T-SQL)?

Этот oneliner перечисляет все файлы в текущем каталоге, сортирует по временной отметке создания в обратном порядке (означает, что самый старый файл находится в начале) и автоматически переименовывает с завершающими нулями в соответствии с количеством файлов. Расширение файла будет сохранено.

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

Имейте в виду, что если вы столкнулись с именами имен файлов, вы теряете файлы. Поэтому сначала переименуйте что-то нечетное, как temp001.jpg, а затем выполните свое окончательное имя файла.

DIGITS=$(ls | wc -l | xargs | wc -c | xargs); ls -tcr | cat -n | while read n f; do mv "$f" "$(printf "%0${DIGITS}d" $n).${f##*.}"; done
17
задан John Sansom 2 March 2009 в 19:45
поделиться

5 ответов

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

следующая ссылка из Книг Онлайн предоставляет подробную информацию каждого из различных Уровней изоляции.

http://msdn.microsoft.com/en-us/library/ms173763.aspx

Вот является хорошей статьей, которая объясняет различные типы поведения при блокировании в SQL Server и предоставляет примеры также.

http://www.sqlteam.com/article/introduction-to-locking-in-sql-server

13
ответ дан 30 November 2019 в 14:06
поделиться

подсказки таблицы

WITH (HOLDLOCK) позволяет другим читателям. UPDLOCK, как предложено в другом месте эксклюзивен.

HOLDLOCK предотвратит другие обновления, но они могут использовать данные, которые обновляются позже.

UPDLOCK предотвратит любого считывающего данные, пока Вы не будете фиксировать или откатывать.

Вы посмотрели sp_getapplock? Это позволило бы Вам сериализировать этот код (если это - единственный бит обновления) без UPDLOCK блокирование

Редактирование: проблема заключается главным образом в этом коде, работающем на 2 различных сессиях. С HOLDLOCk или REPEATABLE_READ, данные будут считаны на 2-й сессии перед 1-м обновлением сессии. С UPDLOCK никто не может считать данные ни на какой сессии.

2
ответ дан 30 November 2019 в 14:06
поделиться

MSSQL:

SELECT id
FROM Inventory (UPDLOCK)
WHERE material_id = 25 AND quantity > 10;

http://www.devx.com/tips/Tip/13134

<час>
Случайно Вам интересно с PostgreSQL:
SELECT id
FROM Inventory    
WHERE material_id = 25 AND quantity > 10
FOR UPDATE;
2
ответ дан 30 November 2019 в 14:06
поделиться

Я полагаю, что это было бы UPDLOCK.

http://www.devx.com/tips/Tip/13134

0
ответ дан 30 November 2019 в 14:06
поделиться

Подсказки блокировки:

WITH (UPDLOCK, HOLDLOCK)
0
ответ дан 30 November 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: