|
|
Опубліковано 15.03.2019 22:45:21
|
|
|
|

Передмова
Минулого разу я планував організувати весь базовий контент SQL, але помітив, що час починає рухатися раніше, ніж я це помітив. Ця стаття продовжується нижче.
Текст
Спочатку створимо потрібні нам таблиці
Спочатку виконаємо SQL-оператор
Цей код віднімає залишок 0001 на 1000 і залишок 0002 на 1000. Але ми додали обмеження, коли будували таблицю, і баланс має бути більшим або рівним 10.
Результати такі:
Отже, ця помилка виконання коду: "Оператор UPDATE конфліктує з обмеженням CHECK "CH_balance". Конфлікт виникає в базі даних "DemoDb" з таблицею "dbo. Bank", стовпець 'balance'。” 。 Якщо одне твердження є помилкою, то чи було успішно виконано інше.
Результати запиту такі:
Побачимо, що інша SQL-оператор не матиме помилок, але все одно не робить успішного фіксування. Ось що ми розкриємо для вас.
#Транзакції
Що таке транзакція? Строго кажучи, якщо операція задовольняє атомарність, стійкість, ізоляцію та узгодженість, тоді ця операція називається транзакцією. Автоматично надсилайте транзакції: у SQL Server. За замовчуванням кожна SQL-оператор є транзакцією. Показувати транзакції: Кожна транзакція починається явно з виписки BEGIN TRANSACTION і закінчується явно випискою COMMIT або ROLLBACK.
Демо, яке ми щойно згадали вище, закінчилося Rollback, тому виконання SQL не діяло. Дані не були успішно змінені.
У фактичній розробці та застосуванні ми зазвичай створюємо шар транзакцій поза оператором без запиту, щоб забезпечити цілісність і узгодженість даних відповідно до реальних потреб. Або роби все, або не роби все.
Існують дві системні змінні, які фіксують несправний SQL файлу. - @@rowcount повертає кількість пошкоджених рядків, @@error повертає неправильне кодування
Давайте використаємо ці дві системні змінні, щоб визначити, чи є помилка в SQL, і виконати два вищезазначені SQL-оператори.
#Збережені процедури
Значення: Інкапсулюйте виконаний процес (який може бути складним) у ім'я, а потім використовуйте це ім'я для виконання процесу.
> Процедури збереження без параметрів
>Збережені процедури з параметрами
>Збережена процедура з поверненим значенням
Спробуй catch у базі даних
Існують також збережені процедури з параметрами за замовчуванням, які згадувалися в попередній статті про пагінацію.
Епілог
Збережені процедури частіше використовуються у наших реальних проєктах, у багатьох давніх системах, бізнес-логіка написана у збережених процедурах, а люди, які стоять за ними, підтримують її, і вони просто хочуть за кілька хвилин вдарити собаку по голові. Загалом, бізнес-логіка записується в коді, але кількість разів, коли дані читаються з бази даних, а бізнес-логіка записується у процесі зберігання. Минулого року дуже складну низку бізнес-логіки в проєкті компанії було перенесено на процес зберігання, що збільшило швидкість у десятки разів. Звісно, особливі обставини розглядаються особливо. Конкретне застосування залежить від конкретної ситуації.
(Примітка: вищенаведений матеріал — це навчальні нотатки року, якщо є щось недоречне, будь ласка, виправте це!) )
|
Попередній:Я відчуваю ставлення до системи обслуговування клієнтів великих компанійНаступний:Відео з Andale HCNP та HCIE
|