កុំព្យូទ័រ, មូលដ្ឋានទិន្នន័យ
SQL មួយត្រូវបានរក្សាទុកនីតិវិធី: បង្កើតនិងការប្រើប្រាស់
នីតិវិធី SQL មួយត្រូវបានរក្សាទុកជាកម្មវិធីដែលអាចប្រតិបត្តិបានមានម៉ូឌុលដែលអាចត្រូវបានទុកក្នុង មូលដ្ឋានទិន្នន័យ នៅក្នុងសំណុំបែបបទនៃវត្ថុនានា។ នៅក្នុងពាក្យផ្សេងទៀត, វាគឺជាវត្ថុដែលមានសេចក្តីថ្លែងការណ៍មួយ SQL មួយ។ នីតិវិធីដែលបានរក្សាទុកទាំងនេះអាចត្រូវបានប្រតិបត្តិក្នុងកម្មវិធីនេះបានដើម្បីទទួលបានលទ្ធផលល្អ។ លើសពីនេះទៀតកន្លែងបែបនេះត្រូវបានហៅថាជាញឹកញាប់ពីស្គ្រីបផ្សេងទៀតឬសូម្បីតែពីផ្នែកផ្សេងទៀតណាមួយ។
សេចក្តីផ្តើម
មានមនុស្សជាច្រើនជឿថាពួកគេគឺស្រដៀងគ្នាទៅនឹងនីតិវិធីនៃការនានា ភាសាសរសេរកម្មវិធីកម្រិតខ្ពស់ (រៀងគ្នាលើកលែងតែសម្រាប់ MS SQL មួយ) ។ ប្រហែលជានេះគឺជាការពិត។ ពួកគេមានប៉ារ៉ាម៉ែត្រដែលស្រដៀងគ្នា, ពួកគេអាចចេញតម្លៃដែលស្រដៀងគ្នា។ លើសពីនេះទៀតក្នុងករណីខ្លះពួកគេបានចូលមកក្នុងទំនាក់ទំនង។ ឧទាហរណ៍ពួកគេត្រូវបានរួមបញ្ចូលជាមួយនឹងមូលដ្ឋានទិន្នន័យនៃទិន្នន័យនិង DDL DML ព្រមទាំងមុខងារអ្នកប្រើ (ឈ្មោះកូដ - UDF) ។
នីតិវិធី SQL មួយត្រូវបានរក្សាទុកពិតជាមានជួរធំទូលាយមួយនៃគុណសម្បត្តិដែលបានសម្គាល់ក្នុងចំណោមដំណើរការបែបនេះ។ សុវត្ថិភាពផលិតភាពសរសេរកម្មវិធីការប្រែប្រួល - ទាំងអស់នេះបានទាក់ទាញអ្នកប្រើប្រាស់ធ្វើការជាមួយនឹងមូលដ្ឋានទិន្នន័យកាន់តែច្រើន។ កំពូលនៃប្រជាប្រិយភាពនេះបានមកនីតិវិធីសម្រាប់ឆ្នាំ 2005-2010, នៅពេលដែលខ្ញុំទទួលបានកម្មវិធីពី "ក្រុមហ៊ុន Microsoft" ក្រោមឈ្មោះ«ការគ្រប់គ្រងម៉ាស៊ីនបម្រើ SQL មួយស្ទូឌីយោ»នេះ។ ដោយមានជំនួយរបស់ខ្លួនធ្វើការជាមួយនឹងមូលដ្ឋានទិន្នន័យដែលបានក្លាយទៅជាកាន់តែងាយស្រួល, ជាក់ស្តែងបន្ថែមទៀតនិងកាន់តែងាយស្រួល។ ឆ្នាំបន្ទាប់ពីឆ្នាំនេះ វិធីសាស្រ្តនៃការបញ្ជូនព ទទួលបានប្រជាប្រិយភាពនៅក្នុងបរិស្ថានសរសេរកម្មវិធី។ ថ្ងៃនេះ, កម្មវិធី MS SQL មួយម៉ាស៊ីនបម្រើ គឺជាកម្មវិធីធម្មតាពិតដែលមានសម្រាប់អ្នកប្រើប្រាស់ដើម្បី "ប្រាស្រ័យទាក់ទង»ជាមួយនឹងមូលដ្ឋានទិន្នន័យបានឈរនៅលើស្មើជាមួយ" កម្មវិធី Excel "មួយ។
នៅពេលដែលអ្នកហៅនីតិវិធីនេះវាត្រូវបានដំណើរការភ្លាមដោយម៉ាស៊ីនបម្រើដោយមិនមានដំណើរការដែលមិនចាំបាច់និងការអន្តរាគមន៍របស់អ្នកប្រើ។ បន្ទាប់មកអ្នកអាចអនុវត្តសកម្មភាពណាមួយជាមួយនឹងព: ការលុបប្រតិបត្តិផ្លាស់ប្តូរ។ ជាងទាំងអស់នេះគឺក្នុង DDL-ប្រតិបត្តិករដែលបានអនុវត្តដោយកណ្ដាប់ដៃខ្លួនតែឯងសកម្មភាពស្មុគ្រស្មាញនៅលើវត្ថុទាំងនោះ។ ហើយវាទាំងអស់កើតឡើងយ៉ាងលឿននិងម៉ាស៊ីនបម្រើមិនបានផ្ទុកពិតប្រាកដ។ ល្បឿននេះនិងអនុញ្ញាតឱ្យអ្នកផ្ទេរផលិតភាពបានយ៉ាងលឿនបរិមាណធំនៃទិន្នន័យពីអ្នកប្រើម៉ាស៊ីនបម្រើនិងអនុទៅនោះមកវិញដែរ។
ដើម្បីអនុវត្តការងារជាមួយពនេះមានបច្ចេកវិទ្យាភាសាសរសេរកម្មវិធីជាច្រើន។ ទាំងនេះរួមបញ្ចូលទាំងឧទាហរណ៍: PL / SQL មួយពី ប្រព័ន្ធគ្រប់គ្រងមូលដ្ឋានទិន្នន័យ Oracle, PSQL ក្នុង InterBase និងប្រព័ន្ធ Firebird ព្រមទាំងបុរាណ "maykrosoftovskih »ប្រតិបត្តិការ-SQL មួយ។ ពួកគេទាំងអស់ត្រូវបានរចនាឡើងដើម្បីបង្កើតនិងដំណើរការនីតិវិធីដែលបានរក្សាទុកដែលអនុញ្ញាតឱ្យអ្នកប្រើក្បួនផ្ទាល់ខ្លួនរបស់ពួកគេលើការគ្រប់គ្រងមូលដ្ឋានទិន្នន័យដែលមានទំហំធំ។ វាគឺជាការចាំបាច់និងដើម្បីធានាថាអ្នកដែលអនុវត្តការគ្រប់គ្រងនៃពបែបនេះអាចការពារវត្ថុទាំងអស់ពីភាគីទីបីដោយគ្មានការអនុញ្ញាតហើយដូច្នេះការបង្កើតកែប្រែឬលុបទិន្នន័យមួយចំនួន។
ផលិតភាព
វត្ថុមូលដ្ឋានទិន្នន័យទាំងនេះអាចត្រូវបានកម្មវិធីនៅក្នុងវិធីផ្សេងគ្នា។ នេះអនុញ្ញាតឱ្យអ្នកប្រើជ្រើសប្រភេទនៃដំណើរការដែលនឹងជាការសមរម្យបំផុតដែលរក្សាទុកពេលវេលានិងថាមពល។ លើសពីនេះទៀតនីតិវិធីដោយខ្លួនវាគឺត្រូវបានដំណើរការ, ដូច្នេះជៀសវាងពេលចំណាយលើការប្រាស្រ័យទាក់ទងយ៉ាងធំធេងរវាងម៉ាស៊ីនបម្រើនិងអ្នកប្រើ។ ម៉ូឌុលនេះអាចត្រូវបាន reprogrammed និងផ្លាស់ប្ដូរនៅក្នុងទិសដៅខាងស្ដាំនៅពិតពេលណាមួយ។ ដែលមានតម្លៃជាពិសេសកត់សម្គាល់ល្បឿនដែលចាប់ផ្តើមនៃនីតិវិធីសម្រាប់ទុកបានកើតឡើង SQL មួយ: ដំណើរការនេះគឺស្រដៀងគ្នាទៅវាលឿនជាងផ្សេងទៀតដែលធ្វើឱ្យវាងាយស្រួលនិងល្អផងមួយ។
សុវត្ថិភាព
ប្រភេទនៃការដំណើរការទិន្នន័យនេះខុសគ្នាពីដំណើរការស្រដៀងគ្នានៅក្នុងនោះវាផ្តល់សន្តិសុខប្រសើរ។ នេះត្រូវបានធានាដោយការពិតដែលថាអ្នកប្រើផ្សេងទៀតបានមកពីនីតិវិធីការចូលដំណើរការអាចត្រូវបានលុបទាំងស្រុង។ នេះនឹងអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងដើម្បីធ្វើប្រតិបត្ដិការជាមួយពួកគេដោយឯករាជ្យដោយគ្មានការភ័យខ្លាចនៃការចូលដំណើរការដែលគ្មានការអនុញ្ញាតឬស្កាត់ទៅមូលដ្ឋានទិន្នន័យ។
ផ្ទេរទិន្នន័យ
ទំនាក់ទំនងរវាងនីតិវិធី SQL មួយរក្សាទុកនិងកម្មវិធីគឺដើម្បីប្រើប៉ារ៉ាម៉ែត្រនិងតម្លៃត្រឡប់។ ក្រោយមកទៀតគឺជាការមិនចាំបាច់ដើម្បីបញ្ជូនទិន្នន័យទៅកាន់នីតិវិធីដែលបានរក្សាទុកមួយ, ប៉ុន្តែពនេះ (សំខាន់លើការស្នើរសុំរបស់អ្នកប្រើ) និងដំណើរការសម្រាប់ SQL ។ នីតិវិធីពេលដែលត្រូវបានរក្សាទុកបានបញ្ចប់ការងាររបស់ខ្លួនវាផ្ញើកញ្ចប់ទិន្នន័យត្រឡប់មកវិញ (ប៉ុន្តែជាថ្មីម្តងទៀតប្រសិនបើអ្នកចង់) ទៅកម្មវិធីហៅទូរស័ព្ទដោយប្រើភាពខុសគ្នានៃវិធីសាស្រ្តដែលអាចនឹងត្រូវបានអនុវត្តដូចជាការហៅទៅនឹងនីតិវិធីមួយដែលត្រូវបានរក្សាទុក SQL មួយនិងត្រឡប់មកវិញ, ឧទាហរណ៍មួយ:
- ការបញ្ជូនទិន្នន័យ តាមរយៈប្រភេទប៉ារ៉ាម៉ែត្រទិន្នផល;
- ការបញ្ជូនទិន្នន័យតាមរយៈសេចក្តីថ្លែងការណ៍ត្រឡប់មកវិញ;
- ការបញ្ជូនទិន្នន័យតាមរយៈការជ្រើសរើសនាវា។
ហើយឥឡូវនេះមើលអំពីរបៀបដំណើរការនេះមើលទៅខាងក្នុងដូចគ្នា។
1. បង្កើត EXEC-រក្សាទុកនៅក្នុងនីតិវិធី SQL នេះ
អ្នកអាចបង្កើតនីតិវិធី MS SQL មួយ (កម្មវិធីគ្រប់គ្រងស្ទូឌីយោ) មួយ។ បន្ទាប់ពីការនីតិវិធីនេះត្រូវបានបង្កើតឡើង, វាត្រូវបានរាយនៅលើថ្នាំងមូលដ្ឋានទិន្នន័យកម្មវិធី, នៅក្នុងការដែលនីតិវិធីនេះត្រូវបានអនុវត្តដោយប្រតិបត្តិករនៃការបង្កើត។ ដើម្បីប្រតិបត្តិ SQL មួយដោយការប្រើនីតិវិធីដែលបានរក្សាទុកមួយដំណើរការ EXEC ដែលមានឈ្មោះវត្ថុ។
ពេលបង្កើតឈ្មោះបានមកនីតិវិធីជាលើកដំបូងហើយបន្ទាប់មកបានធ្វើឱ្យប៉ារ៉ាម៉ែត្រមួយឬច្រើនដែលត្រូវបានផ្ដល់ទៅឱ្យគាត់។ ប៉ារ៉ាម៉ែត្រអាចត្រូវបានស្រេចចិត្ត។ បន្ទាប់ពីបានប៉ារ៉ាម៉ែត្រ (s) ពោលគឺរាងកាយនៃនីតិវិធីដែលនឹងត្រូវបានសរសេរ, វាគឺជាការចាំបាច់ដើម្បីអនុវត្តប្រតិបត្ដិការចាំបាច់មួយចំនួន។
ការពិតដែលថារាងកាយអាចមានអថេរក្នុងតំបន់ដែលមានទីតាំងស្ថិតនៅក្នុងវានិងអថេរទាំងនេះគឺជាមូលដ្ឋាននិងទាក់ទងទៅនឹងនីតិវិធី។ នៅក្នុងពាក្យផ្សេងទៀត, ពួកគេអាចត្រូវបានចាត់ទុកតែនៅក្នុងការព្យាបាលរាងកាយ ក្រុមហ៊ុន Microsoft SQL មួយម៉ាស៊ីនបម្រើ។ និតិវិធីរក្សាទុកនៅក្នុងករណីនេះត្រូវបានគេចាត់ទុកថាជាមូលដ្ឋាន។
ដូច្នេះដើម្បីបង្កើតដំណើរការមួយដែលយើងត្រូវការឈ្មោះប៉ារ៉ាម៉ែត្រនីតិវិធីនិងការយ៉ាងហោចណាស់មួយជារាងកាយនីតិវិធី។ សូមចំណាំថាជម្រើសល្អបំផុតក្នុងករណីនេះគឺការបង្កើតនិងអនុវត្តនីតិវិធីដែលមានឈ្មោះគ្រោងការណ៍មួយក្នុងចាត់ថ្នាក់។
រាងកាយនីតិវិធីនេះអាចមានប្រភេទនៃប្រតិបត្តិករ SQL មួយណាមួយឧទាហរណ៍ដូចជាការបង្កើតតារាងបញ្ចូលជួរដេកមួយឬច្រើននៃតារាងបង្កើតមូលដ្ឋានទិន្នន័យនិងតួអក្សរប្រភេទនិងដូច្នេះនៅលើ។ ទោះជាយ៉ាងណារាងកាយនីតិវិធីដាក់លក្ខខណ្ឌប្រតិបត្ដិការមួយចំនួននៅក្នុងវា។ មួយចំនួននៃដែនកំណត់ដែលសំខាន់បំផុតដែលត្រូវបានរាយខាងក្រោម:
- រាងកាយមិនបង្កើតនីតិវិធីដែលបានរក្សាទុកណាមួយផ្សេងទៀត!
- រាងកាយមិនត្រូវបង្កើតឱ្យមានចំណាប់អារម្មណ៍មិនពិតអំពីវត្ថុ;
- រាងកាយមិនបង្កើតកេះទេ។
2. កំណត់អថេរនៅក្នុងរាងកាយនៃនីតិវិធីនេះ
អ្នកអាចធ្វើឱ្យអថេរមូលដ្ឋាននីតិវិធីនៃរាងកាយ, ហើយបន្ទាប់មកពួកគេនឹងមាននៅក្នុងរាងកាយនីតិវិធី។ ការការអនុវត្តល្អគឺដើម្បីបង្កើតអថេរនៅដើមដំបូងនៃរាងកាយនីតិវិធីដែលបានរក្សាទុកនោះទេ។ ប៉ុន្តែអ្នកអាចកំណត់អថេរនៅគ្រប់ទីកន្លែងនៅក្នុងរាងកាយរបស់វត្ថុ។
ពេលខ្លះអ្នកអាចសង្កេតឃើញថាអថេរមួយចំនួនត្រូវបានកំណត់នៅក្នុងជួរដេកដូចគ្នានិងអថេរគ្នាបានបំបែកដោយសញ្ញាក្បៀស។ ចំណាំផងដែរថាអថេរត្រូវបានដាក់បុព្វបទដោយ @ ។ នៅក្នុងតួនៃនីតិវិធីនេះនោះអ្នកអាចកំណត់អថេរដែលអ្នកចង់បាន។ ឧទាហរណ៍អថេរ @ NAME1 មួយអាចត្រូវបានប្រកាសពីការឆ្ពោះទៅរកការបញ្ចប់នៃរាងកាយនីតិវិធីនេះ។ ក្នុងគោលបំណងដើម្បីផ្ដល់តម្លៃទៅឱ្យអថេរមួយដែលបានប្រកាសដោយប្រើសំណុំនៃទិន្នន័យផ្ទាល់ខ្លួនមួយ។ ផ្ទុយទៅនឹងស្ថានភាពនៅពេលអថេរច្រើនជាងមួយបានប្រកាសនៅក្នុងជួរដេកដូចគ្នានេះនៅក្នុងមានតែមួយសំណុំនៃទិន្នន័យផ្ទាល់ខ្លួនដែលបានប្រើនៅក្នុងស្ថានភាពនេះ។
អ្នកប្រើជាញឹកញាប់សួរសំណួរថា: «តើធ្វើដូចម្តេចដើម្បីផ្ដល់តម្លៃជាច្រើននៅក្នុងសេចក្តីថ្លែងការណ៍តែមួយនៅក្នុងតួនៃនីតិវិធីនេះ "ជាការប្រសើរណាស់។ សំណួរគួរឱ្យចាប់អារម្មណ៍នោះទេប៉ុន្តែនេះគឺជាការកាន់តែងាយស្រួលជាងអ្នកគិត។ ចម្លើយ: ដោយមានជំនួយពីគូដូចជា«ជ្រើសរើសវ៉ា = តម្លៃ "។ អ្នកអាចប្រើគូទាំងនេះដែលបានបំបែកដោយសញ្ញាក្បៀស។
3. បង្កើតនីតិវិធី SQL មួយត្រូវបានរក្សាទុក
នៅក្នុងពពួកធំទូលាយនៃគំរូរបស់មនុស្សដែលបានបង្ហាញការបង្កើតនីតិវិធីដែលបានរក្សាទុកសាមញ្ញនិងប្រតិបត្តិវា។ ទោះជាយ៉ាងណា, នីតិវិធីនេះអាចយកប៉ារ៉ាម៉ែត្រដូចថាការហៅបម្រើដែលវាដំណើរការមានតម្លៃជិតស្និទ្ធនឹងទៅវា (ប៉ុន្តែមិនជានិច្ច) មួយ។ ប្រសិនបើពួកគេផ្គូផ្គង, បន្ទាប់មកចាប់ផ្តើមដំណើរការដែលត្រូវគ្នានៅក្នុងរាងកាយ។ ឧទាហរណ៍ប្រសិនបើអ្នកបង្កើតនីតិវិធីដែលនឹងយកទីក្រុងនិងតំបន់ពីទូរស័ព្ទចូលនិងត្រឡប់ទិន្នន័យអំពីរបៀបជាច្រើនអ្នកនិពន្ធយោងទៅនិងតំបន់ដែលត្រូវគ្នាក្នុងទីក្រុងនេះ។ នីតិវិធីនេះនឹងសួរតារាងមូលដ្ឋានទិន្នន័យមួយរបស់អ្នកនិពន្ធឧទាហរណ៍រង្គសាលសម្រាប់ការសម្តែងនិពន្ធគណនានេះ។ ដើម្បីទទួលបានមូលដ្ឋានទិន្នន័យទាំងនេះ, ឧទាហរណ៍, ក្រុមហ៊ុន Google ដែលបានទាញយកស្គ្រីប SQL មួយជាមួយទំព័រ SQL2005 ។
នៅក្នុងឧទាហរណ៍មុន, នីតិវិធីនេះត្រូវចំណាយពេលប៉ារ៉ាម៉ែត្រពីរ, ដែលនៅក្នុងភាសាអង់គ្លេសនឹងត្រូវបានហៅលក្ខខណ្ឌ @State និង @City ។ ប្រភេទទិន្នន័យត្រូវគ្នាទៅនឹងប្រភេទដែលបានបញ្ជាក់នៅក្នុងកម្មវិធី។ រាងកាយនីតិវិធីនេះមាន @TotalAuthors អថេរខាងក្នុង (អ្នកនិពន្ធទាំងអស់), និងអថេរនេះត្រូវបានប្រើដើម្បីបង្ហាញលេខរបស់ខ្លួន។ បន្ទាប់មកសំណើការជ្រើសរើសផ្នែកដែលទាំងអស់ចំនួន។ ជាចុងក្រោយ, តម្លៃគណនាត្រូវបានបង្ហាញក្នុងបង្អួចទិន្នផលដោយប្រើសេចក្តីថ្លែងការបោះពុម្ព។
តើធ្វើដូចម្តេចដើម្បីអនុវត្តនីតិវិធី SQL មួយត្រូវបានរក្សាទុក
មានវិធីពីរដើម្បីអនុវត្តនីតិវិធីនេះ។ វិធីដំបូងត្រូវបានបង្ហាញដោយឆ្លងកាត់ប៉ារ៉ាម៉ែត្រដែលជាបញ្ជីបំបែកដោយសញ្ញាក្បៀសត្រូវបានធ្វើបន្ទាប់ពីឈ្មោះនីតិវិធី។ សន្មតថាយើងមានតម្លៃពីរ (ដូចនៅក្នុងឧទាហរណ៍មុន) ។ តម្លៃទាំងនេះត្រូវបានប្រមូលដោយប្រើអថេរនិងនីតិវិធី @State @City ។ ក្នុងវិធីសាស្រ្តនេះប៉ារ៉ាម៉ែត្រសំខាន់នៃលំដាប់បញ្ជូន។ វិធីសាស្រ្តនេះត្រូវបានគេហៅថាលំដាប់ឆ្លងនៃអាគុយម៉ង់។ ក្នុងវិធីសាស្ដ្រទីពីរនេះប៉ារ៉ាម៉ែត្រត្រូវបានកំណត់ដោយផ្ទាល់រួចទៅហើយក្នុងករណីដែលការបញ្ជាទិញនេះគឺមិនសំខាន់ទេ។ វិធីសាស្រ្តទីពីរនេះត្រូវបានគេស្គាល់ថាជាការឆ្លងនៃអាគុយម៉ង់ដែលបានដាក់ឈ្មោះ។
នីតិវិធីនេះអាចងាកចេញបន្តិចពីធម្មតា។ ទាំងអស់ដូចគ្នាដូចនៅក្នុងឧទាហរណ៍មុននេះប៉ុន្តែត្រូវបានផ្លាស់ប្តូរប៉ារ៉ាម៉ែត្រនៅទីនេះតែប៉ុណ្ណោះ។ នោះហើយគឺជាប៉ារ៉ាម៉ែត្រ @City ត្រូវបានរក្សាទុកជាលើកដំបូងហើយ @State ត្រូវបានរក្សាទុកបន្ទាប់ទៅតម្លៃលំនាំដើម។ ការកំណត់លំនាំដើមគឺត្រូវបានបម្រុងទុកសម្រាប់ជាធម្មតាដោយឡែកពីគ្នា។ នីតិវិធីដែលបានរក្សាទុក SQL ដែលមានប៉ារ៉ាម៉ែត្រសាមញ្ញដូចជា។ ក្នុងករណីនេះបានផ្ដល់ជម្រើស "យូថា" ជំនួសតម្លៃលំនាំដើមនៃ "CA" ។ នៅក្នុងការតំណាងជាលើកទីពីរឆ្លងកាត់តម្លៃអាគុយម៉ង់តែមួយគត់សម្រាប់ @City, និងជម្រើសលំនាំដើម @State ទៅ "CA" ។ អ្នកសរសេរកម្មវិធីដែលមានបទពិសោធន៍ត្រូវបានគេណែនាំថាទាំងអស់អថេរលំនាំដើមដែលត្រូវបានគេដែលមានទីតាំងស្ថិតនៅជិតទៅនឹងចុងបញ្ចប់នៃបញ្ជីប៉ារ៉ាម៉ែត្រនេះ។ បើមិនដូច្នេះទេការប្រតិបត្តិគឺមិនអាចធ្វើទៅបានបន្ទាប់មកអ្នកត្រូវធ្វើការជាមួយនឹងការផ្ទេរអាគុយម៉ង់មានឈ្មោះថាយូរជាងនិងស្មុគ្រស្មាញនេះ។
4. នីតិវិធីរក្សាទុកម៉ាស៊ីនបម្រើ SQL: វិធីនៃការវិលត្រឡប់មកវិញ
មានវិធីសំខាន់បីដើម្បីផ្ញើទិន្នន័យរក្សាទុកនៅក្នុងនីតិវិធីហៅថាមាន។ ពួកគេត្រូវបានរាយខាងក្រោម:
- តម្លៃត្រឡប់នីតិវិធីដែលបានរក្សាទុក;
- នីតិវិធីដែលបានរក្សាទុកប៉ារ៉ាម៉ែត្រទិន្នផល;
- ជ្រើសរើសមួយនៃនីតិវិធីរក្សាទុក។
ត្រឡប់តម្លៃ 4.1 នីតិវិធី SQL ដែលត្រូវបានរក្សាទុក
នៅក្នុងនីតិវិធីនេះនីតិវិធីកំណត់តម្លៃនៃអថេរក្នុងស្រុកហើយត្រឡប់វា។ នីតិវិធីនេះដោយផ្ទាល់ផងដែរអាចមានតម្លៃថេរត្រឡប់។ នៅក្នុងឧទាហរណ៍ខាងក្រោមនេះយើងបានបង្កើតនីតិវិធីដែលត្រឡប់ចំនួនសរុបនៃអ្នកឧបត្ថម្ភមួយ។ ប្រសិនបើយើងប្រៀបធៀបជាមួយនីតិវិធីមុន, អ្នកអាចមើលឃើញថាតម្លៃនៃការបោះពុម្ពត្រូវបានជំនួសដោយបញ្ច្រាស។
ឥឡូវនេះសូមមើលអំពីរបៀបដើម្បីអនុវត្តនីតិវិធីនិងបង្ហាញតម្លៃនេះវាត្រឡប់។ នីតិវិធីការសម្តែងទាមទារដើម្បីបង្កើតនិងបោះពុម្ពអថេរដែលត្រូវបានអនុវត្តបន្ទាប់ពីដំណើរការនេះ។ សូមកត់សម្គាល់ថាជំនួសឱ្យការបោះពុម្ពប្រតិបត្តិករអាចប្រើជ្រើស-ប្រតិបត្តិករឧទាហរណ៍ជ្រើស @RetValue និង OutputValue ។
4.2 នីតិវិធី SQL មួយត្រូវបានរក្សាទុកទិន្នផលប៉ារ៉ាម៉ែត្រ
តម្លៃការឆ្លើយតបអាចត្រូវបានប្រើដើម្បីត្រឡប់អថេរតែមួយដែលយើងបានឃើញនៅក្នុងឧទាហរណ៍មុន។ ដោយប្រើទិន្នផលនេះអនុញ្ញាតឱ្យនីតិវិធីដើម្បីផ្ញើអថេរមួយឬច្រើនទៅឱ្យភាគីហៅទូរស័ព្ទនេះ។ ប៉ារ៉ាម៉ែត្រទិន្នផលត្រូវបានតាងជាពេលវេលាពាក្យគន្លឹះនេះ«ទិន្នផល»ពេលបង្កើតនីតិវិធី។ ប្រសិនបើប៉ារ៉ាម៉ែត្រនេះត្រូវបានបញ្ជាក់ជាប៉ារ៉ាម៉ែត្រលទ្ធផលមួយវត្ថុនីតិវិធីនេះត្រូវតែកំណត់វាតម្លៃមួយ។ ត្រូវបានរក្សាទុក SQL មួយនីតិវិធីឧទាហរណ៍នៃការដែលអាចត្រូវបានមើលឃើញនៅខាងក្រោមនៅក្នុងករណីបែបវិលត្រឡប់ទៅប្រកួតវគ្គផ្តាច់ព្រ័ត្រនេះព។
ក្នុងឧទាហរណ៍នេះនឹងមានឈ្មោះចុងសប្តាហ៍ពីរ: @TotalAuthors និង @TotalNoContract ។ ពួកគេត្រូវបានបញ្ជាក់នៅក្នុងបញ្ជីប៉ារ៉ាម៉ែត្រ។ អថេរទាំងនេះត្រូវបានផ្ដល់តម្លៃនៅក្នុងរាងកាយនីតិវិធី។ នៅពេលដែលយើងប្រើប៉ារ៉ាម៉ែត្រលទ្ធផល, ទូរស័ព្ទចូលអាចមើលឃើញតម្លៃដែលបានកំណត់នៅក្នុងរាងកាយនីតិវិធី។
លើសពីនេះទៀតក្នុងសេណារីយ៉ូមុនអថេរពីរត្រូវបានប្រកាសក្នុងការមើលឃើញតម្លៃដែលត្រូវបានដំឡើងនីតិវិធីដែលបានរក្សាទុក, ម៉ាស៊ីនបម្រើរបស់ MS SQL មួយជាប៉ារ៉ាម៉ែត្រទិន្នផលមួយ។ បន្ទាប់មកនីតិវិធីនេះត្រូវបានអនុវត្តដោយអនុវត្តតម្លៃធម្មតា« CA បាន»ប៉ារ៉ាម៉ែត្រ។ ប៉ារ៉ាម៉ែត្រខាងក្រោមនេះគឺបានទិន្នផលហើយដូច្នេះប្រកាសអថេរត្រូវបានអនុម័តនៅក្នុងលក្ខណៈតាមវេជ្ជបញ្ជា។ សូមចំណាំថានៅពេលដែលពាក្យគន្លឹះទិន្នផលអថេរផងដែរដែលបានបញ្ជាក់នៅទីនេះ។ បន្ទាប់ពីការនីតិវិធីនេះត្រូវបានបញ្ចប់ដោយជោគជ័យ, តម្លៃដែលបានត្រឡប់មកវិញដោយប្រើប៉ារ៉ាម៉ែត្រលទ្ធផលត្រូវបានបង្ហាញនៅលើបង្អួចសារ។
4.3 ការជ្រើសនីតិវិធី SQL មួយត្រូវបានរក្សាទុកជា
បច្ចេកទេសនេះត្រូវបានប្រើដើម្បីត្រឡប់សំណុំតារាងដែលសំណុំបែបបទក្នុងតម្លៃទិន្នន័យ (RecordSet) មួយសម្រាប់ការហៅទូរស័ព្ទនីតិវិធីដែលបានរក្សាទុកមួយ។ ក្នុងឧទាហរណ៍នេះ SQL ដែលបានរក្សាទុកនីតិវិធីដែលមានប៉ារ៉ាម៉ែត្រ @AuthID ស្នើ "អ្នកនិពន្ធ" តារាងដោយការត្រងកំណត់ត្រាដែលបានត្រឡប់ដោយ @AuthId ប៉ារ៉ាម៉ែត្រនេះ។ ជ្រើសប្រតិបត្តិករសម្រេចចិត្តអ្វីដែលគួរតែត្រូវបានត្រឡប់ទៅការហៅទូរស័ព្ទនីតិវិធីដែលបានរក្សាទុកមួយ។ ពេលដែលនីតិវិធីត្រូវបានរក្សាទុកជា AuthId បានបញ្ជូនត្រឡប់មកវិញ។ នីតិវិធីមួយគឺតែងតែត្រឡប់តែកំណត់ត្រាឬគ្មានមួយនៅទាំងអស់។ ទោះជាយ៉ាងណា, នីតិវិធីដែលបានរក្សាទុកមិនមានការរឹតបន្តឹងណាមួយនៅលើត្រឡប់មកវិញនៃធាតុច្រើនជាងមួយបាន។ ឧទហរណ៍ជាញឹកញាប់អាចរកឃើញក្នុងដែលទិន្នន័យត្រឡប់មកវិញបានជ្រើសដោយប្រើប៉ារ៉ាម៉ែត្រជាមួយអថេរគណនាត្រូវបានធ្វើឡើងដោយការផ្តល់នូវពហុភាពនៃតម្លៃសរុប។
នៅក្នុងសេចក្តីសន្និដ្ឋាន
នីតិវិធីដែលបានរក្សាទុកគឺជាកម្មវិធីមួយធ្ងន់ធ្ងរណាស់, ត្រឡប់មកវិញឬផ្ទេរព្រមទាំងបង្កើតអថេរចាំបាច់ដោយសារតែកម្មវិធីនេះ។ ចាប់តាំងពីនីតិវិធីដែលបានរក្សាទុកត្រូវបានប្រតិបត្តិនៅលើម៉ាស៊ីនបម្រើខ្លួនវាផ្ទាល់, ការផ្លាស់ប្តូរទិន្នន័យនៅក្នុងបរិមាណធំរវាងម៉ាស៊ីនបម្រើនិងកម្មវិធី (សម្រាប់ការគណនាចំនួន) អាចត្រូវបានជៀសវាង។ នេះធ្វើឱ្យវាអាចធ្វើទៅបានដើម្បីកាត់បន្ថយការផ្ទុកនៅលើម៉ាស៊ីនបម្រើ SQL ដែលជាការពិតណាស់នេះគឺជាដៃរបស់អ្នកកាន់របស់ពួកគេ។ មួយនៃអំបូរនេះត្រូវបានរក្សាទុកនីតិវិធីក្រុមហ៊ុន T SQL មួយ, ប៉ុន្តែការសិក្សារបស់ពួកគេត្រូវបានត្រូវការដើម្បីអ្នកដែលចូលរួមនៅក្នុងការបង្កើតមូលដ្ឋានទិន្នន័យគួរឱ្យចាប់អារម្មណ៍មួយ។ នៅទីនោះគឺជាធំ, សូម្បីតែច្រើននៃការ nuances មួយដែលអាចមានប្រយោជន៍នៅក្នុងការសិក្សានៃនីតិវិធីដែលបានរក្សាទុកផងដែរ, ទោះជាយ៉ាងណាតម្រូវការនេះសម្រាប់អ្នកដែលត្រូវបានគេរៀបចំធ្វើការសរសេរកម្មវិធីតឹងរួមទាំងការវិជ្ជាជីវៈ។
Similar articles
Trending Now