
روال های ذخیره شده 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
موفق باشید

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


Movie Poster Design I : در این پروژه شما با هنر مونتاژ تصاویر افراد که یکی از بارزترین کارها در ساخت پوستر فیلم های سینمایی می باشد آشنا می شوید.
Movie Poster Design II : دراین آموزش شما مشاهده می کنید که چگونه با تصاویری بسیار ساده و فقط با اعمال افکت ها و ترکیب تصاویر با یکدیگر پوستر فیلم بسیار حرفه ایی طراحی می شود.
Movie Poster Credits : دراین پروژه شما با نحوه درست نمودن یک بلوک اعتباری یا همان Credit Block واقعی جهت پوستر فیلم های خود آشنا می شوید.
Dark Faces : در این پروژه شما با خلق تصویر ترسناک آشنا می شوید که کاربرد این افکت در شکل های دیگر در مجلات و تصاویر تبلیغاتی زیاد می باشد.
.
سلام عزیزم تو همه دنیا، تو هیچ سایتی کسی پروسجرو اینقد خوب توضیح نداده.. :)
دست گلت درد نکنه..
salam sharmande mikhastam bebinam u dar movrede full text dar sql chizi midonin mano rahnamayi konid mamnon misham
ارسال دیدگاه