۲آموزش SQl server- جلسه هفتم

    3,018 بازدید

7

روال های ذخیره شده  stored procedure

به مجموعه دستورات t.sql که شامل تعریف متغییر ها ، عملیات روی آنها و دستورات ورودی و خروجی میشود s.p گفته می شود. هر روال ذخیره شده یک شی است که می تواند سیستمی یا غیر سیستمی باشد.روال های سیستمی قبلا تعریف شده اند و با ایجاد یک بانک اطلاعاتی جدید به آن بانک اضافه می شوند و ما فقط در T.sql ها آنها را فراخوانی می کنیم ولی  روال های  غیر سیستمی توسط خود کاربر تعریف شده و همانند نوع سیستمی می توانند بارها و بارها فرخوانی شوند.

ایجاد یک روال ذخیره شده:

پارامتر های ورودی   نام  روال   create procedure

‍‌Output]  as ]   نوع پارامتر ها

دستورات  select

پارامتر های ورودی روال ها با علامت @ و نوع داده ای تعریف می شوند و پارامتر های خروجی بعد از پارامتر های ورودی با علامت @ و نوع داده ای و کلمه کلیدی output می آیند.

مثال: (پارامتر های خروجی)

create proceduer  grdesum @sum int output

as

select @sum = sum(grade) from student

موقع فراخوانی جمع نمرات به عنوان خروجی برگردانده می شود.

(پارامتر های ورودی )

create    std_info   @name  nvarchar(20) , @family  nvarchar

as

select  std_name , std_family, age  from student

where  std_name = @name  and std_famil=@family

در موقع فراخوانی اطلاعات دانش آموزانی برگردانده می شود که برابر با مقادیر فرستاده شده می باشد.

فراخوانی  proceduer

اگر در قطعه کد  t.sql دستور فراخوانی اولین دستور باشد می توان فقط نام پروسیجر را نوشت ولی در صورتی که اولین دستور نباشد باید حتما عبارت exec یا execute را همراه آن نوشت.

فراخوانی روال هایی که ورودی دارند:

مقدار فرستاده شده برای روال=نام پارامترورودی @   نام پروسیجر   exec

مثال:

‘exec     std_info    @name=’anis’,@family=’barmar

فراخوانی روال ها بدون ورودی:

نام پروسیجر  exec

توابع تعریف شده کاربرuser difine function-udf-

تابع مجموعه از t.sql هاست که یک بار نوشته می شود و چند باز فراخوانی می شود ولی تفاوت آن با پروسیجرهای قبلی در این است که حتما و حداقل یک خروجی را دارد و باید یک مقدار را به عنوان خروجی برگرداند.

نوع خروجی    returns    (پارامتر ها)        نام تابع    create   function

as

begin

….

نام متغییر خروجی   return

end

روش فراخوانی :

‘نامی برای نمایش’  as   (پارامتر ها)نام تابع .نام مالک.نام بانک   select

مثال : تابعی بنویسید که  یک عدد را دریافت و فاکتوریل آن را حساب کند.

( create  function  fact (@num int

returns int

as

begin

declare  @sum int

set  @sum =1

declare  @counter

set @counter = 0

while  @counter<= @num

begin

set  @counter = @counter+1

set  @sum = @sum *@counter

end

return  @sum

end

فراخوانی:

‘select    class.dbo.fact(3)   as  ‘fact

نکته:dbo یک مالک عمومی است.

توابع جدولی یا inline table:

این نوع تابع نیز حتما خروجی دارد و می توان بارها و بارها از آن استفاده کرد اما تفاوت ان با تابع قبلی در این است که توابع جدولی مجموعه ای از رکورد های جدول را برمی گرداند.

ایجاد یک تابع جدولی:

return   table    (نام پارامتر ها)نام تابع    create function

as

(دستورات  rreturn   (select

فراخوانی توابع جدولی

(پارامتر ها)نام تابع    select    * from

مثال:اطلاعات دانش آموزانی را برگرداند که معلمشان همان معلمی باشد که به عنوان ورودی به تابع فرستاده می شود.

create    function  std_info(@teacher    varchar) returns   table

as

return  (select student.std_name,student.std_family,register.teacher

where   student.std_num =register.std_num

(and    register.teacher = @teacher

روش فراخوانی:

(‘select   *  from     std_info(‘ahmadi

Trigger :

نوعی روال ذخیره شده است که در مواقع خاص اجرا می شود مثلا در زمان درج داده جدید یا ویرایش داده ها اجرا می شود . توجه کنید که trigger هیچ گاه فراخوانی نمی شود و بلکه اتوماتیک اجرا میشود(البته در زمانی که مشخص می کنید)  توسط دستور زیر ایجاد میشود.

نام  تریگر  create  trigger

نام جدولی که تریگر روی ان عمل می کند on

for    insert/update/delete

as

دستوراتی بعد از عمل مشخص شده انجام میشود

نکته: به جای کلمه for  می توان از کلمه after , inetred  af نیز استفاده کردو کلمه after پیش فرض است.

after: بعد از انجام موفقیت آمیز عملیات (insert/update/delete)

for: در همان لحظه اجرا می شود.

ineterd of: ترگیر را به یک قطعه کد T.SQl عادی تبدیل می کند و مانند یک پروسیجر معمولی تریگر را می سازد.

ایجاد یک تریگر به صورت ویزاردی:

راست کلیک روی جدول مورد نظر/گزینهall taks/mange trigger و نوشتن کد های مورد نظر

مثال:

create  trigger std_trigger

on  student

for insert/update

as

if  (select max(grade)   from student) >20

‘print     ‘a range is not valid

نتیجه : در لحظه ورود یا تغییر داده ها اگر بزرگترین نمره در جدول از ۲۰ بیشتر بود پیغام مناسب را نمایش می دهد.

مثال ۲: تریگری بنویسید که بعد از درج داده جدید در جدول sudent اگر داده ها بیشتر از ۱۰ رکورد شد یک پیغام خطا چاپ کند و رکورد های درج شده را حذف کند.

create trigger isert_trigger

on student

for  insert

as

if    (select count(*)   from student) >10

begin

‘print  ‘you cannot insert

rollback

end

موفق باشید

توضیحاتی در باب نویسنده

مسعود رضایی هستم ، 21 ساله ، مدیر گروه نوجوان تک تمپ ، دانشجو ، علاقمند به طراحی وب سایت ، گرافیک و بازی های رایانه ای . هدف ما بالا بردن هنر گرافیک در بین هموطنان مان است .

Visit Masoud's Website

آموزش اسرار فتوشاپ به زبان فارسی Photoshop Top Secret

پجموعه پیش رو یکی از کامل ترین و برترین مجموعه های آموزشی در زمینه فتوشاپ می باشد که  ویژگی های خاص این مجموعه آن را از سایر مجموعه های مشابه متمایز نموده، از جمله این ویژگی ها قرار گیری هفت دوره آموزشی Adobe Photoshop CS4 ارائه شده توسط برترین اساتید جهان، به همراه مجموعه ای از نکات و ترفند های کار با فتوشاپ در قالب 101 پروژه آموزشی توسط آقای Mark Monciardini مدرس مجموعه Photoshop Top Secret، همچنین مجموعه ی بی نظیر و نفیس Photoshop Top Secret با زبان و محیط 100% فارسی (با کمترین دستکاری)، در قالب 6 دی وی دی است، که در بسته بندی اختصاصی تقدیم شما می گردد.

چگونه در فتوشاپ کمربند مشکی بگیریم؟!
مجموعه ی نفیس Photoshop Top Secret همان گونه که از نامش می توان حدس زد مجموعه ای کم نظیر، حرفه ای و محرمانه است که دریچه ای از اسرار و ترفند های ناشناخته فتوشاپ را پیش روی کاربران قرار می دهد. اکثر کاربران نرم افزار فتوشاپ همیشه دنبال آموزش ها و در واقع یادگیری نکات جدید و ترفندهایی از این نرم افزار در جهت ارتقاء سطح کار و توانائی های خود بوده اند که این امر باعث بوجود آمدن هزاران سایت آموزشی در این زمینه، کتب مختلف آموزش ترفند ها، نکته ها و نیز دوره های آموزشی با هزینه های بالا تحت عناوینی مانند جلوه های ویژه فتوشاپ و ... شده است. این مجموعه گرانبها که شامل بیش از 18 گیگابایت فیلم آموزش است در بردارنده ی آموزش های فوق العاده کاربردی و حرفه ای در زمینه های مختلفی، مانند آموزش ترکیب تصاویر، ساخت پوستر های سینمایی و تبلیغاتی، آموزش های حرفه ای روتوش تصاویر، ایجاد جلوهای ویژه، ساخت افکت های هیجان انگیز و رویایی، کار با متون، گرافیک وب و Digital Painting و موارد دیگری است. که در ادامه تصاویر آنها، به همراه توضیحات اجمالی از هر آموزش قرار داده شده است.

"کمربند مشکی" در نرم افزار Adobe Photoshop را از آن خود کنید !

iconقیمت : 10000 تومان
icon تعداد: DVD 5

پروژه های آموزشی این مجموعه ی نفیس عبارتند از: :: پروژه های DVD 1


alt
Movie Poster Design I
: در این پروژه شما با هنر مونتاژ تصاویر افراد که یکی از بارزترین کارها در ساخت پوستر فیلم های سینمایی می باشد آشنا می شوید. Movie Poster Design II : دراین آموزش شما مشاهده می کنید که چگونه با تصاویری بسیار ساده و فقط با اعمال افکت ها و ترکیب تصاویر با یکدیگر پوستر فیلم بسیار حرفه ایی طراحی می شود.

.
altMovie Poster Credits : دراین پروژه شما با نحوه درست نمودن یک بلوک اعتباری یا همان Credit Block واقعی جهت پوستر فیلم های خود آشنا می شوید. Dark Faces : در این پروژه شما با خلق تصویر ترسناک آشنا می شوید که کاربرد این افکت در شکل های دیگر در مجلات و تصاویر تبلیغاتی زیاد می باشد. .
  • ادامه مطلب را بخوانید »
  • ۲ دیدگاه ارسال شده شما هم دیدگاهتان را ارسال کنید »

    ارسال دیدگاه