មេរៀនទី៨: Stored Procedures

អ្វីជា Stored Procedure? stored procedure គឺជាក្រុមមួយនៃ  SQL statements ដែល compiled ក្នុងមួយ។ ដូចអ្វីដែលមានលើ SQL scripts។ stored procedure គឺច្រើនជាង long script វាគឺជា script ដែលបានរក្សាក្នុង SQL Server ក្រោម Stored Procedures node ដែល stored procedure ជាប្រភេទ business logic។
បង្កើត Stored Procedure ដើម្បីបង្កើត stored procedure, ត្រុវការប្រើ CREATE PROCEDURE statement ដែលមានកូដបង្កើត ដូចខាងក្រោម
CREATE PROCEDURE myStoredProcedure AS


CREATE PROCEDURE myStoredProcedure @{Parameter Name} {data type} AS

ឧទាហរណ៍ កូដខាងក្រោមបង្កើត stored procedure called “LatestTasks” វាអនុញ្ញាតអោយហៅប៉ារ៉ាម៉្រែតមួយ @Count។ អាចសរសេរកូដជា:
CREATE PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS LatestTasks, DateCreated
FROM Tasks
ORDER BY DateCreated DESC
រត់កូដនេះ ក្នុង SQL Server Management Studio លោកអ្នកនឹងឃើញ វានៅក្រោម Stored Procedures node ជា “LatestTasks”
SQL Server 2014ក្នុង SQL Server 2014 លោកអ្នកងាចបង្កើត stored procedure ដោយចុចស្តាំលើ Stored Procedures node/folder ហើយជ្រើសរើស Stored Procedure…. វានឹងបើក template។
Execute Stored Procedure លោកអ្នកមាន stored procedure ហើយដល់ពេល execute វាយើងត្រុវការហៅវា​ដោយប្រើ EXECUTE or EXEC។ ប្រសិនបើ stored procedure ទាមទាប៉ារ៉ាម៉ែត្រ ដូចនេះ:
EXECUTE LatestTasks
EXEC LatestTasks
EXEC LatestTasks @Count = 5
ឧទាហរណ៍ ក្នុងឧទាហរណ៍នេះ យើង execute stored procedure ពីរដងក្នុងពេលដូចគ្នា។ ពេលដំបូង ហៅវាយើង pass ក្នុង @Count នៃ 3។ ទីពីរ pass ក្នុងតម្លៃនៃ 5។
SQL Server 2014ការប្រើ GUI លោកអ្នក៍អាចប្រើ graphical user interface ដើម្បី execute stored procedure បានដែរ។
របៀប:
1. ប្រើ Object Explorer, ចូលទៅ stored procedure
2. ចុចស្តាំលើ stored ើសរើសជ្រ Execute Stored Procedure…:
SQL Server 20143. ប្រអប់នឹងបង្ហាញ បញ្ចូល តម្លៃប៉ារ៉ាម៉ែត្រ:
SQL Server 20144. ចុច OK
5. SQL Server នឹងបង្កើត SQL ហើយ execute the stored procedure។
ការកែប្រែ Stored Procedure ប្រសិនបើលោក អ្នកត្រូវការកែប្រែ stored procedure, ដោយងារ replace CREATE ជាមួយ ALTER អនុញ្ញាតបន្ថែម space រវាង “Latest” និង “Tasks” (បង្កើតវា “Latest Tasks”) ហើយបន្ថែម Description field:
ALTER PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS “Latest Tasks”, Description, DateCreated
FROM Tasks
ORDER BY DateCreated DESC
ប្រព័ន្ធ System Stored Procedures SQL Server រួមមានចំនួនធំនៃប្រព័ន្ធ stored procedures ដើម្បីផ្តល់ទិន្នន័យការគ្រប់គ្រង database administration។ មានកិច្ចការ ជាច្រើនលោកអ្នក អាចឆ្លងកាត់ GUI អាចឆ្លងកាត់តាម system stored procedure។
  • Configure security accounts
  • Set up linked servers
  • Create a database maintenance plan
  • Create full text search catalogs
  • Add remote login
  • Configure replication
  • Set up scheduled jobs
  • and much more…