220 likes | 329 Views
Stored Procedures. And Their Role In DataBase Management Systems. Mahmoud Moravej Pedram Ghahremanloo. تعريفی تطبيقي. - اگر بخواهيم از ديد يک زبان برنامه نويسی به آن بنگريم, مشابه توابع برنامه نويسی ( Function) می باشند.
E N D
Stored Procedures And Their Role In DataBase Management Systems Mahmoud Moravej Pedram Ghahremanloo
تعريفی تطبيقي - اگر بخواهيم از ديد يک زبان برنامه نويسی به آن بنگريم, مشابه توابع برنامه نويسی (Function) می باشند. - برای نوشتن Stored Procedure ها در پايگاههای داده ای مختلف نياز به دانستن زبان برنامه نويسی مرتبط با همان پايگاه داده را داريم. - به طور مثال, در محصول MS- SQL Server زبان نوشتن Stored Procedure ها TSQL و در Oracle زبان PL/SQL می باشد.
تعريفي ساختاری - Stored Procedure ها, توابعی هستند که پارامتر ورودی می گيرند و خروجی آن اغلب متشکل از يک يا چند جدول است. - بدنه آن ترکيبی از موارد زير می باشد: * دستورات SQL * انواع ساختارهای کنترلی, شرطی, حلقه * انواع توابع از پيش تعريف شده * دستورات کنترل تراکنش ها * دستورات کار باCursor ها
تعريفي کاربردی - در دنيای امروز که برنامه نويسی سه لايه مطرح می باشد, يکي از لايه ها مربوط به کار و ارتباط با داده هاست که بخش بزرگي از اين لايه را Stored Procedure ها تشکيل می دهند. - امروزه در يک برنامه کاربردی حرفه ای, هيچ کس دستورات SQL را به طور مستقيم در کد نمی نويسد.
مزيت های کلی • سرعت با لاتر • امنيت و عدم رخنه پذيری • امنيت منطقي داده ها (ايزوله شدن و کاهش پيچيدگی از ديد برنامه نويس) • ذخيره شدن در کنار پايگاه داده ها • افزايش سرعت درخواست اجرا
Stored Procedure ها درMS - SQL Server همانطور که ذکر شد زبان Stored Procedure ها در MS – SQL Server زبان TSQL می باشد. بنابراين ابتدا بايد با زبان TSQL آشنا شد. • اجزای زبان TSQL • نحوه تعريف • طريقه اجرا
Stored Procedure ها درMS - SQL Server همانطور که ذکر شد زبان Stored Procedure ها در MS – SQL Server زبان TSQL می باشد. بنابراين ابتدا بايد با زبان TSQL آشنا شد. • اجزای زبان TSQL • نحوه تعريف • طريقه اجرا
اجزای زبان TSQL 1- متغيرها نحوه تعريف: DECLARE @var1 varchar(50) DECLARE @var2 int DECLARE @var3 uniqueidentifier نحوه انتساب: SELECT @var1=‘Hello’ SET @var2=12 متغير های عمومی: @@rowscount @@identity , …
اجزای زبان TSQL 2- کليه دستورات SQL SELECT * FROM tbl1 WHERE frame_id=10 DELETE FROM tbl1 UPDATE tbl1 SET empno=1 WHERE empno=4
اجزای زبان TSQL 3- انواع عملگر های منطقی, محاسباتی و مقايسه ای
اجزای زبان TSQL 4- انواع توابع پيش ساخته و انواع توابع Aggregate, Metadata, Security, System
اجزای زبان TSQL 5- ايجاد جداول موقت • جداول سطح Stored Procedure در حال اجرا DECLARE @tbl1 TABLE (id int, name varchar(50)) • جداول موقتی محلی CREATE TABLE #tbl1 (id int, name varchar(50)) • جداول موقتی عمومی CREATE TABLE ##tbl1 (id int, name varchar(50))
اجزای زبان TSQL 6- ترکيب با SQL SELECT @var1=MAX(grade) FROM tbl1 DELETE FROM tbl1 WHERE id=@studentId INSERT INTO tbl1 (id,name) VALUES (@studentId,@studentname)
اجزای زبان TSQL 7- ساختارهای شرطی IF @name = ‘Pedram’ SELECT @result = TRUE ELSE BEGIN SELECT @result = FALSE UPDATE tbl1 SET col1=@result END همانطور که مشاهده می شود بلوکها با BEGIN و END مشخص می شوند.
اجزای زبان TSQL 8- ساختارهای حلقه WHILE @counter <10 BEGIN SELECT @var1 = id FROM tbl1 IF @var1 = 2 BREAK IF @var1 = 5 CONTINUE END
اجزای زبان TSQL 9- ساختارهای کنترل تراکنش BEGIN TRAN T1 UPDATE tbl1 SET col1=@result DELETE FROM tbl1 WHERE id=@studentId SELECT @var1 = id FROM tbl1 IF @var1 = 5 ROLLBACK TRAN T1 ELSE COMMIT TRAN T1
اجزای زبان TSQL 10- ساير ساختارها • ساختار SELECT CASE • دستور GOTO • ساختار CURSOR ها • و ...
Stored Procedure ها درMS - SQL Server همانطور که ذکر شد زبان Stored Procedure ها در MS – SQL Server زبان TSQL می باشد. بنابراين ابتدا بايد با زبان TSQL آشنا شد. • اجزای زبان TSQL • نحوه تعريف • طريقه اجرا
نحوه تعريف تعريفStored Procedureاابتداشامل تعيين نام و پارامترهای آن بوده و در ادامه بدنه آن توسط دستورات TSQL مشخص می شود: CREATE PROCEDURE sp1 @param1 int, @param2 varchar(10) = ‘Pedram’, @param3 int OUTPUT AS //… // TSQL //… SELECT * FROM tbl1 GO
Stored Procedure ها درMS - SQL Server همانطور که ذکر شد زبان Stored Procedure ها در MS – SQL Server زبان TSQL می باشد. بنابراين ابتدا بايد با زبان TSQL آشنا شد. • اجزای زبان TSQL • نحوه تعريف • طريقه اجرا
طريقه اجرا برای اجرای يک Stored Procedure از دستور زير استفاده می کنيم: DECLARE @p INT EXEC sp1 50 , DEFAULT , @p PRINT @p
Stored Procedures And Their Role In DataBase Management Systems Mahmoud Moravej Pedram Ghahremanloo