ՀամակարգիչներՏվյալների բազաներ

SQL պահվում ընթացակարգերի: ստեղծել եւ օգտագործման

SQL պահվում ընթացակարգերը executable ծրագրային մոդուլը, որը կարող է պահվում են տվյալների բազայում -ի ձեւով տարբեր օբյեկտների. Այլ կերպ ասած, դա մի օբյեկտ, որը պարունակում է SQL-հայտարարությամբ: Այս պահվում ընթացակարգերը կարող են մահապատժի է հաճախորդի դիմումի ստանալու լավ կատարումը: Բացի այդ, նման կառույցներ, որոնք հաճախ կոչվում են այլ սցենարներ, կամ նույնիսկ որեւէ այլ բաժնում.

ներածություն

Շատ մարդիկ կարծում են, որ իրենք նման են ընթացակարգերի տարբեր բարձր մակարդակի ծրագրավորման լեզուների (համապատասխանաբար, բացառությամբ MS SQL): Թերեւս սա ճշմարիտ է: Նրանք ունեն նմանատիպ պարամետրերի, նրանք կարող են թողարկել է նման արժեք: Ընդ որում, որոշ դեպքերում, նրանք շփման մեջ մտնելու: Օրինակ, նրանք զուգորդվում բազաները DDL եւ DML տվյալների, ինչպես նաեւ անձնագիրը գործառույթների (կոդը անունը `UDF).

Իրականում պահվող SQL ընթացակարգերը լայն շարք առավելություններ, որոնք տարբերակել նրանց միջեւ նման գործընթացների: Անվտանգության, փոփոխականություն ծրագրավորում արտադրողականությունը, այս ամենը գրավում է օգտվողներին աշխատում բազաների հետ, ավելի ու ավելի: Գագաթնակետն ժողովրդականությունը եկավ ընթացակարգերը տարիների համար 2005-2010թթ., Երբ ես ստացել այս ծրագրի «Մայքրոսոֆթ» անվան տակ «SQL Server Management Studio»: Իր օգնությամբ, աշխատանքը բազաների հետ դարձել է շատ ավելի հեշտ է, ավելի գործնական ու ավելի հարմար: Տարեցտարի, այս մեթոդը տեղեկություններ փոխանցելու ձեռք բերել ժողովրդականություն է ծրագրավորման միջավայրի. Այսօր, MS SQL Server բացարձակապես սովորական է ծրագիր, որի համար օգտվողներին «հաղորդակցվել» բազաների, կանգնեց անդա «Excel»:

Երբ դուք զանգահարել կարգը, այն ակնթարթորեն մշակվում է սերվերի առանց ավելորդ գործընթացների եւ անձնագիրը միջամտության: Դուք կարող եք կատարել, ապա որեւէ գործողություն հետ տեղեկությունների հանումը, կատարումը, փոփոխություն: Over այս ամենը գտնվում է DDL-օպերատոր, ով միայնակ handedly կատարել բարդ գործողություններ այդ օբյեկտների. Եւ այն ամենը տեղի է ունենում շատ արագ, եւ որ սերվերը չի իրականում բեռնված. Այս արագությունը եւ արդյունավետությունը թույլ են տալիս արագորեն փոխանցել մեծ քանակությամբ տեղեկատվության օգտագործողի է սերվերի եւ հակառակը:

Իրականացնել այս աշխատանքը հետ տեղեկատվության, կան մի քանի ծրագրավորման լեզուներ տեխնոլոգիաներ: Դրանք ներառում են, օրինակ, PL / SQL է տվյալների բազայի կառավարման համակարգի Oracle, PSQL ի InterBase եւ Firebird համակարգերի, ինչպես նաեւ դասական «maykrosoftovskih» Transact-SQL. Բոլորն էլ նախագծված են, որպեսզի ստեղծել եւ վարում պահվող ընթացակարգերը, որը թույլ է տալիս Ձեզ օգտվել իրենց սեփական ալգորիթմներ է մի մեծ բազա handlers. Դա անհրաժեշտ է եւ պետք է ապահովել, որ նրանք, ովքեր իրականացնում են կառավարումը նման տեղեկատվության, կարող է պաշտպանել բոլոր օբյեկտները կողմնակի երրորդ անձանց, եւ, հետեւաբար, ստեղծման, փոփոխումը կամ հանումը որոշակի տվյալների:

արտադրողականություն

Այս տվյալների բազայի օբյեկտները կարող են ծրագրավորված է տարբեր ձեւերով. Սա հնարավորություն է տալիս օգտվողներին ընտրել այն տեսակի գործընթացին, որը կլինի առավել նպատակահարմար, որը փրկում է ժամանակը եւ էներգիան: Բացի այդ, կարգը ինքնին մշակվում, այդպիսով խուսափելով մեծ ժամանակը ծախսել միջեւ հաղորդակցության սերվերի եւ օգտագործողի. Մոդուլի կարող է վերածրագրավորվել եւ փոխվել է ճիշտ ուղղությամբ բացարձակապես ցանկացած ժամանակ: Հատկապես նշել, որ արագությունը, որի հետ մեկնարկը SQL պահվող ընթացակարգի տեղի է ունենում, որ գործընթացը պետք է ավելի արագ, այլ նման է դրան, դարձնելով այն հարմար է եւ բազմակողմանի.

անվտանգություն

Այս տեսակի տեղեկատվության մշակման տարբերվում նմանատիպ գործընթացների, որ այն ապահովում է ուժեղացված անվտանգությունը: Սա ապահովում է նրանով, որ այլ օգտվողներին մուտք ընթացակարգերի կարող է վերացվել ամբողջությամբ: Դա թույլ կտա կառավարիչը գործողություններ իրականացնելու նպատակով նրանց հետ ինքնուրույն, առանց վախի խափանում կամ չարտոնված տվյալների բազայում.

տվյալների փոխանցման

Կապի միջեւ պահվող SQL ընթացակարգի եւ հաճախորդի դիմում է օգտագործել պարամետրերի եւ վերադարձնել արժեքները: Վերջինս անհրաժեշտ չէ փոխանցել տվյալներ է պահվում ընթացակարգի, սակայն այդ տեղեկատվությունը (հիմնականում վրա օգտագործողի խնդրանքով), եւ մշակվում է SQL. Բանից հետո, երբ պահեստավորված ընթացակարգ ավարտել է իր աշխատանքը, այն ուղարկում է տվյալների փաթեթների ետ (բայց, նորից, եթե ցանկանաք), ինչպես նաեւ կոչ անելով դիմումի, օգտագործելով մի շարք մեթոդներ, ըստ որի կարելի է իրականացված որպես զանգի պահվող ընթացակարգի, SQL, եւ վերադարձի, օրինակ `

- տվյալների փոխանցման միջոցով Արդյունք պարամետրի տեսակ.

- տվյալների փոխանցման միջոցով վերադարձի հայտարարությանը,

- Տվյալների փոխանցման միջոցով օպերատորը ընտրության.

Եւ այժմ նայում, թե ինչպես է այդ գործընթացը նայում նույն ներսում:

1. Ստեղծել Exec-պահվում է SQL ընթացակարգով

Դուք կարող եք ստեղծել մի ընթացակարգ MS SQL (Managment Studio): Այն բանից հետո, ընթացակարգը ստեղծվի, այն նշված է ծրագրավորվող տվյալների բազայի հանգույցի, որի ընթացակարգը իրականացվում է օպերատորի ստեղծման. Է կատարել SQL պահվող պրոցեդուրաներ, օգտագործելով exec, մի գործընթաց, որը պարունակում է օբյեկտի անունը:

Երբ ստեղծել անունը գալիս առաջին կարգը, եւ ապա մեկ կամ ավելի պարամետրերի, որոնք հանձնարարված են նրան: Պարամետրերը կարող է ցանկության: Հետո պարամետր (ներ), այսինքն, մարմնի ընթացակարգի, պետք է գրված, որ անհրաժեշտ է իրականացնել մի շարք անհրաժեշտ գործողություններ:

Այն փաստը, որ մարմինը կարող է ունենալ տեղական փոփոխականներ, որը գտնվում է դրան, եւ այդ փոփոխականների են տեղական եւ առնչությամբ ընթացակարգերի: Այլ կերպ ասած, նրանք կարող են համարվել միայն շրջանակներում մարմնի բուժում է Microsoft SQL Server. Պահվող ընթացակարգերը այս դեպքում են համարվում տեղական.

Այսպիսով, ստեղծել է մի գործընթաց, մենք պետք է մի գործընթաց, անունը եւ առնվազն մեկ պարամետր որպես ընթացակարգային մարմնի. Խնդրում ենք նկատի ունենալ, որ հիանալի տարբերակ է այս դեպքում այն է, որ ստեղծում եւ իրականացում ընթացակարգերի հետ schema անվան դասակարգչի.

Ընթացակարգը մարմինը կարող է ունենալ ցանկացած տեսակի օպերատորների SQL, օրինակ, ինչպես, օրինակ, ստեղծելով սեղան, մտցնելիս մեկ կամ ավելի տողեր են սեղանի հաստատելը, տվյալների բազայի տեսակի եւ բնույթի, եւ այլն: Այնուամենայնիվ, ընթացակարգը մարմինը սահմանափակում որոշ գործողություններ դրա: Որոշ կարեւորագույն սահմանափակումների թվարկված են ստորեւ:

- այդ մարմինը չի ստեղծում որեւէ այլ պահվում կարգը.

Մարմինը չպետք է կեղծ տպավորություն են ստեղծում մասին օբյեկտի.

- այդ մարմինը չի ստեղծում որեւէ triggers.

2. Սահմանել փոփոխական է մարմնի ընթացակարգի

Դուք կարող եք կատարել փոփոխականներ տեղական ընթացակարգի մարմնի, եւ ապա նրանք պետք է շրջանակներում ընթացակարգային մարմնի. Լավ պրակտիկան է ստեղծել է փոփոխական սկզբին պահվող ընթացակարգի մարմնի. Բայց դուք կարող եք նաեւ սահմանել փոփոխականներ ցանկացած մարմնի օբյեկտի.

Երբեմն դուք կարող եք նկատել, որ որոշ փոփոխականները սահմանվում են նույն շարքում, եւ յուրաքանչյուր փոփոխական առանձնացվել է ստորակետ. Նաեւ նշեմ, որ փոփոխական նախածանցված @. Ի մարմնի ընթացակարգի, դուք կարող եք սահմանել մի փոփոխական, որը ցանկանում եք. Օրինակ, մի փոփոխական @ NAME1 կարող է հայտարարել դեպի ավարտին ընթացակարգի մարմնի. Որպեսզի նշանակում արժեք է փոփոխականին հայտարարել է, օգտագործելով մի շարք անհատական տվյալների: Ի տարբերություն իրավիճակի, երբ ավելի քան մեկ փոփոխական հայտարարված նույն շարքում, միայն մի շարք անհատական տվյալների օգտագործվում է այս իրավիճակում.

Օգտագործողները հաճախ հարցնում հարցը: «Ինչպես վերագրել բազմաթիվ արժեքները մեկ հայտարարության մարմնից ընթացակարգի. Դե: Հետաքրքիր հարց է, բայց դա շատ ավելի հեշտ է, քան կարծում եք: Պատասխանը: օգնությամբ այնպիսի զույգերի, ինչպես «Ընտրել Var = արժեքի»: Դուք կարող եք օգտագործել այս զույգ, բաժանելով դրանք ստորակետերով:

3. Ստեղծել SQL պահվում կարգը

Մի լայն օրինակներից մարդկանց ցույց տալ, ստեղծելով մի պարզ պահվում կարգը եւ կատարել այն. Այնուամենայնիվ, գործընթացը կարող է տեւել այնպիսի չափանիշներ, որ կոչումը գործընթացը, այն արժեք կունենա մոտ է դրան (բայց ոչ միշտ): Եթե նրանք համապատասխանում, ապա սկսում համապատասխան գործընթացները մարմնի. Օրինակ, եթե դուք ստեղծել է ընթացակարգ, որը կընդունի քաղաքը եւ տարածաշրջանը Զանգահարողն եւ վերադարձնել մասին տվյալները, թե որքան հեղինակները վերաբերում են համապատասխան քաղաքի եւ տարածաշրջանի համար: Ընթացակարգը պետք է մի հարցում տվյալների բազայի սեղան հեղինակների, օրինակ, Pubs, կատարման համար այս հաշվարկում հեղինակներին: Է ձեռք բերել այդ տվյալների բազաների, օրինակ, Google- ի ներլցումներ SQL սցենար հետ SQL2005 էջում:

Հիշեցնենք, որ նախորդ օրինակում, որ ընթացակարգը տեւում է երկու պարամետրերը, որը անգլերեն պետք է կոչված պայմանականորեն @State եւ @City. Տվյալի տիպը համապատասխանում տիպի նշված է դիմումում: Ընթացակարգը մարմինը ունի ներքին փոփոխականներ @TotalAuthors (բոլոր հեղինակների), եւ այդ փոփոխական օգտագործվում է դրսեւորել իրենց համարը: Հաջորդ գալիս է մի բաժինը ընտրությունը պահանջել, որ բոլոր հաշվում: Վերջապես, հաշվարկված արժեքը դրսեւորվում է թողարկում պատուհանի օգտագործելով տպագիր հայտարարություն:

Ինչպես կատարել մի SQL պահվում կարգը

Գոյություն ունեն երկու ճանապարհ կատարելու կարգը: Առաջին ճանապարհը ցույց է տալիս անցնելով պարամետրերի որպես ստորակետով առանձնացված ցանկը արվում հետո ընթացակարգով անունով: Ենթադրենք, որ մենք ունենք երկու արժեքները (ինչպես, օրինակ, նախորդ օրինակում): Այս արժեքներն են հավաքագրվում, օգտագործելով փոփոխականները եւ @State @City կարգը: Այս մեթոդի, կարեւոր պարամետրերի փոխանցման կարգով: Այս մեթոդը կոչվում է փոխանցման հաջորդականությունը փաստարկները. Ի երկրորդ մեթոդի, պարամետրերը արդեն նշանակվել ուղղակիորեն, որի դեպքում կարգը այդքան էլ կարեւոր չէ: Այս երկրորդ մեթոդը հայտնի է որպես փոխանցման անվան փաստարկները.

Ընթացակարգը կարող է մի փոքր շեղվել է բնորոշ: Միեւնույն է, քանի որ նախորդ օրինակում, բայց պարամետրերը են տեղափոխվել այստեղ միայն. Դա այն է, @City պարամետր պահվում առաջին, եւ @State պահվում կողքին նախնական արժեքը. Լռակյաց ընդլայնված սովորաբար հատկացվում է առանձին: SQL պահվող ընթացակարգերը, ինչպես նաեւ պարզ պարամետրերը: Այս դեպքում, պայմանով, որ տարբերակը "The UT - փոխարինում կանխադրված արժեքը" CA ": Մի երկրորդ մարմնավորում է անցնում միայն մեկ փաստարկ արժեք @City, եւ @State տարբերակը լռելյայն "CA": Փորձառու ծրագրավորողների տեղեկացրել է, որ բոլոր լռելյայն փոփոխականները, որոնք ավելի մոտ են գտնվում ավարտին պարամետր ցուցակը. Հակառակ դեպքում, կատարումը հնարավոր չէ, ապա դուք պետք է աշխատել, որ փոխանցման անունով փաստարկների, որ ավելի երկար ու ավելի բարդ է.

4. Պահված ընթացակարգեր SQL Server ուղիները վերադարձնելու

Գոյություն ունեն երեք հիմնական ուղիներ է ուղարկել տվյալները պահվում են կոչվող կարգով: Նրանք թվարկված են ստորեւ:

- վերադարձը արժեքները պահվում կարգը.

- Արդյունք պարամետր պահվում ընթացակարգերի.

- Ընտրեք մեկը պահվում ընթացակարգերի.

4.1 Վերադարձնել արժեքները SQL պահվում ընթացակարգերի

Այս կարգը, սահմանում արժեքը տեղական փոփոխականի եւ վերադարձնում այն. Ընթացակարգը կարող է նաեւ ուղղակիորեն վերադարձնել մշտական արժեք: Է հետեւյալ օրինակում, մենք ստեղծել ենք մի ընթացակարգ, որը վերադարձնում է ընդհանուր թվով հովանավորներ: Եթե մենք համեմատենք սա նախորդ ընթացակարգի, դուք կարող եք տեսնել, որ արժեքը տպագիր փոխարինվում է հակառակ.

Հիմա եկեք տեսնենք, թե ինչպես պետք է կատարել կարգը եւ ցուցադրել արժեքը, վերադարձնել այն. Կատարողական ընթացակարգերը հաստատելու համար անհրաժեշտ է եւ փոփոխական տպագրություն, որն իրականացվում է այն բանից հետո, այդ գործընթացում: Ուշադրություն դարձրու, որ փոխանակ տպագրության օպերատորը կարող է օգտագործել Ընտրել-օպերատորին, օրինակ, Select @RetValue, եւ OutputValue.

4.2 Արդյունք Պարամետր SQL պահվող պրոցեդուրաներ

Որ պատասխանը արժեքը կարող է օգտագործվել վերադառնալու մի փոփոխական է, որ մենք տեսել են նախորդ օրինակում: Օգտագործելով արտադրանքը թույլ է տալիս ընթացակարգը ուղարկել մեկ կամ ավելի փոփոխականների կոչումին կուսակցությանը. Արդյունք պարամետր է բնորոշվել որպես ժամանակի այս առանցքային բառը «ելքային», երբ ստեղծելով կարգը: Եթե պարամետր, որը նշված է որպես ելքային պարամետր, ընթացակարգը օբյեկտը պետք է հանձնարարել այն արժեք: Պահվում ընթացակարգերի SQL, որոնցից կարելի է տեսնել ստորեւ, նման պարագայում վերադարձող վերջնական տեղեկատվություն.

Այս օրինակում, կլինեն երկու հանգստյան օրերին անունը: @TotalAuthors եւ @TotalNoContract: Նրանք նշված են պարամետր ցուցակում: Այս փոփոխականների են նշանակվում արժեքները շրջանակներում դատավարության մարմնի. Երբ մենք օգտագործում ելքային պարամետրերի, զանգահարողը կարող եք տեսնել արժեքը սահմանված կարգով մարմինը.

Բացի այդ, նախորդ սցենարի, երկու փոփոխականների հայտարարելը տեսնել այն արժեքները, որոնք տեղադրված պահվող պրոցեդուրաներ, MS SQL Server որպես ելքային պարամետր. Ապա գործընթացը կատարվում է `կիրառելով բնականոն արժեքը« CA »պարամետր. Հետեւյալ պարամետրերը են արտադրանքի եւ, հետեւաբար, հայտարարել է փոփոխականներ են անցել սահմանված կարգով: Խնդրում ենք նկատի ունենալ, որ երբ մի փոփոխական արտադրանքի հիմնաբառ նաեւ նշված են այստեղ. Այն բանից հետո, ընթացակարգը ավարտվել է հաջողությամբ, արժեքը վերադարձվում է օգտագործելով ելքային պարամետրերի ցուցադրվում են հաղորդագրության պատուհանի.

4.3 Ընտրելով մի SQL պահվում ընթացակարգերի

Այս տեխնիկան օգտագործվում է վերադարձնել մի շարք է ձեւ սեղանի տվյալների արժեքների (գրանցակազմ) համար `կոչ անելով պահվում կարգը: Այս օրինակում, SQL պահվում կարգը պարամետրերով @AuthID խնդրանքներով սեղան «հեղինակներին» մաքրելով ռեկորդները վերադարձած այս պարամետրով @AuthId. Ընտրել օպերատորը որոշում, թե ինչ պետք է վերադարձվեն կանչում է պահվում կարգը: Երբ մի պահեստավորված ընթացակարգ AuthId փոխանցվում ետ. Նման ընթացակարգ է միշտ վերադառնում միայն մեկ ռեկորդ, կամ ոչինչ. Սակայն, պահվում կարգը չունի որեւէ սահմանափակում վերադարձի ավելի քան մեկ մուտքի. Հաճախ օրինակները կարելի է, որի վերադարձը տվյալները ընտրված օգտագործելով պարամետրերի հետ հաշվարկված փոփոխականների արվում ապահովելով բազմազանության ընդհանուր արժեքների:

Եզրափակելով

A պահեստավորված ընթացակարգ է բավականին լուրջ ծրագիր է, վերադարձվել կամ փոխանցվել, ինչպես նաեւ հաստատելու անհրաժեշտ փոփոխականները պայմանավորված է հաճախորդի դիմումը. Քանի որ պահեստավորված ընթացակարգ է իրականացվում է սերվերի մեջ, տվյալների փոխանակման մեծ ծավալներով միջեւ սերվերի եւ հաճախորդի դիմումի համար (որոշ հաշվարկների) կարելի է խուսափել: Սա ստիպում է դա հնարավոր է նվազեցնել բեռը վրա SQL server, որը, իհարկե, այն է, որ ձեռքը իրենց կրողների: Մեկը ենթատեսակ պահվում ընթացակարգերի T SQL, սակայն նրանց ուսումնասիրություն է պետք, նրանք, ովքեր ներգրավված ստեղծման տպավորիչ բազայում. Կա նաեւ մի մեծ, նույնիսկ հսկայական քանակությամբ նրբություններին, որ կարող է օգտակար լինել ուսումնասիրության պահվում ընթացակարգերի, սակայն, դա անհրաժեշտություն է նրանց համար, ովքեր պատրաստվում են անել բարակ ծրագրավորման, այդ թվում `մասնագիտորեն:

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hy.delachieve.com. Theme powered by WordPress.