Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 7095|Отговор: 0

Транзакции и съхранявани процедури, които стоят в основата на базата данни

[Копирай линк]
Публикувано в 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 изявление е транзакция.
Покажи транзакции: Всяка транзакция започва изрично с изявление START TRANSACTION и завършва изрично с COMMIT или ROLLBACK изявление.



Демото, което споменахме по-горе, завърши с Rollback, така че SQL изпълнението не влиза в сила. Данните не бяха успешно модифицирани.

В реалната разработка и приложение обикновено създаваме слой от транзакции извън не-заявното изявление, за да гарантираме целостта и последователността на данните според реалните нужди. Или направи всичко, или не го правиш всичко.

Има две системни променливи, които записват дефектния SQL код. - @@rowcount връща броя на засегнатите редове, @@error връща грешно кодиране

Нека използваме тези две системни променливи, за да определим дали има грешка в SQL и да изпълним горните две SQL оператори.



#Съхранени процедури

Значение: Капсулирайте процес, който се извършва (който може да е сложен), в име и след това използвайте това име, за да изпълните процеса.



>
Процедури за съхранение без параметри


>Съхранени процедури с параметри



>Съхранена процедура с връщана стойност



Опитай catch в базата данни



Съществуват и съхранени процедури с стандартни параметри, които бяха споменати в предишната статия за пагинация.


Епилог


Съхранените процедури се използват по-често в нашите реални проекти, много древни системи, бизнес логиката е написана в съхранени процедури, а хората зад тях я поддържат, и те просто искат да удрят главата на кучето пред себе си за минути. Общо взето, бизнес логиката се записва в кода, но броят пъти, в които данните се четат от базата данни, и бизнес логиката се записва в процеса на съхранение. Миналата година много сложна поредица от бизнес логика в проекта на компанията беше прехвърлена в процеса на съхранение, което увеличи скоростта десетки пъти. Разбира се, специалните обстоятелства се третират специално. Конкретното приложение зависи от реалния сценарий.






(Забележка: Горното съдържание е учебните бележки за годината, ако има нещо неподходящо, моля, коригирайте го!) )









Предишен:Чувствам се относно системата за обслужване на клиенти в големите компании
Следващ:Видео на Andale HCNP и HCIE
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com