និតិវិធីរក្សាទុកផ្តល់អត្ថប្រយោជន៍សុវត្ថិភាពខ្ពស់និងសុវត្ថិភាពខ្ពស់
ក្រុមហ៊ុន Microsoft SQL មួយផ្តល់នូវយន្តការនីតិវិធីដែលបានរក្សាទុកដើម្បីងាយស្រួលក្នុងការបង្កើតមូលដ្ឋានទិន្នន័យដោយការដាក់បញ្ចូលសេចក្តីថ្លែងការណ៍ Transact-SQL ទៅក្នុងប្លុកដែលអាចគ្រប់គ្រងបាន។ នីតិវិធីរក្សាទុកត្រូវបានកោតសរសើរដោយភាគច្រើនអ្នកអភិវឌ្ឍន៍ម៉ាស៊ីនបម្រើ SQL ដែលរកប្រសិទ្ធភាពនិងសុវត្ថិភាពផលដែលពួកគេទទួលបានគឺមានតម្លៃខ្ពស់ការវិនិយោគដំបូងក្នុងពេលវេលា។
អត្ថប្រយោជន៍នៃការប្រើប្រាស់នីតិវិធីទុក
ហេតុអ្វីអ្នកអភិវឌ្ឍន៍គួរប្រើវិធីរក្សាទុក?
នេះគឺជាអត្ថប្រយោជន៍សំខាន់នៃបច្ចេកវិទ្យានេះ:
- ការប្រតិបត្តិដែលបានចងក្រងមុន: ម៉ាស៊ីនបម្រើ SQL ចងក្រងនីតិវិធីរក្សាទុកនីមួយៗហើយម្តងទៀត reutilizes ផែនការប្រតិបត្តិ។ លទ្ធផលនេះធ្វើឱ្យមានការកើនឡើងយ៉ាងខ្លាំងនៅពេលដំណើរការរក្សាទុកត្រូវបានគេហៅម្តងហើយម្តងទៀត។
- ការបន្ថយចរាចរម៉ាស៊ីនភ្ញៀវ / ម៉ាស៊ីនបម្រើ: បើល្បឿនបណ្ដាញបណ្តាញគឺជាកង្វល់មួយនៅក្នុងបរិយាកាសរបស់អ្នកអ្នកនឹងសប្បាយចិត្តដែលដឹងថានីតិវិធីដែលបានរក្សាទុកអាចកាត់បន្ថយសំណួរ SQL វែងទៅខ្សែតែមួយដែលត្រូវបានបញ្ជូនតាមខ្សែ។
- ការប្រើកូដឡើងវិញប្រកបដោយប្រសិទ្ធភាពនិងការបែងចែកកម្មវិធី: ដំណើរការរក្សាទុកអាចត្រូវបានប្រើដោយអ្នកប្រើច្រើននិងកម្មវិធីអតិថិជន។ ប្រសិនបើអ្នកប្រើវាក្នុងលក្ខណៈដែលបានគ្រោងទុកអ្នកនឹងឃើញថាវដ្តការអភិវឌ្ឍន៍ត្រូវការពេលវេលាតិចជាង។
- ការគ្រប់គ្រងសុវត្ថិភាពបន្ថែម: អ្នកអាចផ្តល់ការអនុញ្ញាតដល់អ្នកប្រើប្រាស់ដើម្បីប្រតិបត្តិនីតិវិធីដែលរក្សាទុកដោយឯករាជ្យពីការអនុវត្តតារាងមូលដ្ឋាន។
នីតិវិធីរក្សាទុកគឺស្រដៀងគ្នាទៅនឹងមុខងារកំណត់ដោយអ្នកប្រើប៉ុន្តែមានភាពខុសគ្នាតិចតួច។
រចនាសម្ព័ន្ធ
នីតិវិធីរក្សាទុកគឺស្រដៀងគ្នានឹងសំណាងដែលបានឃើញនៅក្នុងភាសាសរសេរកម្មវិធីផ្សេងទៀត។
ពួកគេទទួលយកទិន្នន័យនៅក្នុងទម្រង់នៃប៉ារ៉ាម៉ែត្របញ្ចូលដែលត្រូវបានបញ្ជាក់នៅពេលអនុវត្ត។ ប៉ារ៉ាម៉ែត្របញ្ចូលទាំងនេះ (បើអនុវត្ត) ត្រូវបានប្រើប្រាស់ក្នុងការប្រតិបត្តិស៊េរីនៃសេចក្តីថ្លែងការណ៍ដែលបង្កើតលទ្ធផលមួយចំនួន។ លទ្ធផលនេះត្រូវបានត្រឡប់ទៅបរិស្ថានហៅតាមរយៈការប្រើ recordset ប៉ារ៉ាម៉ែត្រលទ្ធផលនិងកូដត្រឡប់។
វាអាចស្តាប់ទៅដូចជាមាត់ប៉ុន្តែអ្នកនឹងឃើញថានីតិវិធីរក្សាទុកពិតជាសាមញ្ញណាស់។
ឧទាហរណ៍
តោះមើលគំរូជាក់ស្តែងដែលទាក់ទងទៅនឹងតារាងដែលមានឈ្មោះថាសារពើភណ្ឌដែលបង្ហាញនៅខាងក្រោមទំព័រនេះ។ ព័ត៌មាននេះត្រូវបានធ្វើឱ្យទាន់សម័យក្នុងពេលវេលាជាក់ស្តែងហើយអ្នកគ្រប់គ្រងស្តុកកំពុងពិនិត្យមើលជានិច្ចនូវកម្រិតនៃផលិតផលដែលរក្សាទុកនៅឃ្លាំងរបស់ពួកគេនិងសម្រាប់ការដឹកជញ្ជូន។ កាលពីមុនអ្នកគ្រប់គ្រងនីមួយៗនឹងដំណើរការសំណួរដែលស្រដៀងនឹងចំណុចខាងក្រោម:
ជ្រើសរើសផលិតផល, បរិមាណ
ពីសារពើភ័ណ្ឌ
ទីកន្លែងឃ្លាំង = 'FL'
នេះជាលទ្ធផលនៅក្នុងការសម្តែងគ្មានប្រសិទ្ធភាពនៅម៉ាស៊ីនបម្រើ SQL ។ រាល់ពេលដែលកម្មវិធីគ្រប់គ្រងឃ្លាំងដំណើរការសំណួរនោះម៉ាស៊ីនបម្រើមូលដ្ឋានទិន្នន័យត្រូវបានបង្ខំឱ្យចងក្រងឡើងវិញនូវសំណួរនិងប្រតិបត្តិវាពីទទេ។ វាក៏តម្រូវឱ្យអ្នកគ្រប់គ្រងឃ្លាំងមានចំណេះដឹងអំពីការអនុញ្ញាត SQL និងសិទ្ធិចូលដំណើរការទិន្នន័យតារាង។
ផ្ទុយទៅវិញដំណើរការនេះអាចត្រូវបានធ្វើឱ្យងាយស្រួលតាមរយៈការប្រើប្រាស់នីតិវិធីដែលរក្សាទុក។ នេះគឺជាកូដសម្រាប់នីតិវិធីដែលហៅថា sp_GetInventory ដែលយកកម្រិតសារពើភ័ណ្ឌសម្រាប់ឃ្លាំងដែលបានផ្តល់។
បង្កើតវិធីសាស្រ្ត sp_GetInventory
@local varchar (10)
AS
ជ្រើសរើសផលិតផល, បរិមាណ
ពីសារពើភ័ណ្ឌ
ទីកន្លែងឃ្លាំង = @location
អ្នកគ្រប់គ្រងឃ្លាំងរដ្ឋផ្លរីដាអាចចូលដំណើរការកម្រិតស្តុកទំនិញដោយការចេញបញ្ជា:
EXECUTE sp_GetInventory 'FL'
អ្នកគ្រប់គ្រងស្តុកឥវ៉ាន់ញូវយ៉កអាចប្រើនីតិវិធីរក្សាទុកដូចគ្នាដើម្បីចូលមើលសារពើភ័ណ្ឌនៃតំបន់នោះ:
EXECUTE sp_GetInventory 'NY'
ពិតណាស់នេះគឺជាឧទាហរណ៍សាមញ្ញប៉ុន្តែអត្ថប្រយោជន៍នៃការអរូបីអាចមើលឃើញនៅទីនេះ។ អ្នកចាត់ចែងឃ្លាំងមិនចាំបាច់យល់អំពី SQL ឬក៏ដំណើរការខាងក្នុងនៃនីតិវិធី។ ពីទស្សនវិស័យការអនុវត្តនីតិវិធីរក្សាទុកធ្វើការអស្ចារ្យ។ ម៉ាស៊ីនបម្រើ SQL បង្កើតគម្រោងប្រតិបត្តិម្តងហើយបន្ទាប់មក reutilizes វាដោយដោតប៉ារ៉ាម៉ែត្រសមរម្យនៅពេលដែលប្រតិបត្តិ។
ឥឡូវនេះអ្នកបានរៀនពីអត្ថប្រយោជន៍នៃនីតិវិធីដែលត្រូវបានរក្សាទុកចេញនៅទីនោះហើយប្រើវា។
សូមសាកល្បងឧទាហរណ៍មួយចំនួននិងវាស់វែងពីការបំពេញបន្ថែមដែលសម្រេចបានអ្នកនឹងភ្ញាក់ផ្អើល!
តារាងស្តុក
លេខសម្គាល់ | ផលិតផល | ឃ្លាំង | បរិមាណ |
142 | សណ្តែកខៀវ | ញូវយ៉ក | 100 |
214 | ពារ | FL | 200 |
825 | ពោត | ញូវយ៉ក | 140 |
512 | សណ្តែកលីម៉ា | ញូវយ៉ក | 180 |
491 | ប៉េងប៉ោះ | FL | 80 |
379 | ឪឡឹក | FL | 85 |