در | خارج | پارامترهای IN/OUT در Oracle SQL

Summarize this content to 400 words in Persian Lang
در Oracle SQL، هنگام تعریف توابع (و رویه ها)، پارامترها را می توان به عنوان پارامترهای IN، OUT یا IN/OUT دسته بندی کرد. در اینجا به تفکیک هر نوع آورده شده است:
پارامترهای IN
تعریف: پارامترهای IN برای ارسال مقادیر به تابع یا رویه استفاده می شوند. آنها فقط خواندنی هستند، به این معنی که تابع نمی تواند مقدار یک پارامتر IN را تغییر دهد.
استفاده: شما معمولاً از پارامترهای IN برای ارائه داده های ورودی برای عملکرد یا رویه استفاده می کنید.
مثال:
ایجاد یا جایگزینی تابع get_discount(p_price IN NUMBER، — IN پارامترپارامتر p_discount_rate IN NUMBER — IN) بازگشت شماره ASشروع کنیدRETURN p_price * p_discount_rate / 100; – محاسبه تخفیفEND get_discount;
در این مثال، p_price و p_discount_rate پارامترهای IN هستند که مقادیر ورودی را برای محاسبه تخفیف ارائه میکنند.
پارامترهای OUT
تعریف: پارامترهای OUT برای برگرداندن مقادیر از تابع یا رویه به محیط فراخوانی استفاده می شود. آنها لازم نیست قبل از اینکه به تابع یا رویه منتقل شوند مقداردهی اولیه شوند.
استفاده: پارامترهای OUT معمولاً زمانی استفاده می شوند که شما نیاز به برگرداندن چندین مقدار از یک تابع یا رویه دارید.
مثال:
ایجاد یا جایگزینی رویه get_employee_details(p_employee_id IN NUMBER، — پارامتر INp_employee_name OUT VARCHAR2، — پارامتر OUTp_employee_salary OUT NUMBER — پارامتر OUT) عشروع کنیدنام، حقوق و دستمزد را انتخاب کنیدINTO p_employee_name، p_employee_salaryاز کارمندانWHERE staff_id = p_employee_id;END get_employee_details;
در این مثال، رویه get_employee_details از یک پارامتر IN p_employee_id استفاده می کند تا مشخص کند کدام کارمند باید بازیابی شود، و از پارامترهای OUT p_employee_name و p_employee_salary برای برگرداندن نام و حقوق کارمند استفاده می کند.
پارامترهای IN/OUT
تعریف: پارامترهای IN/OUT می توانند هم برای ارسال مقادیر ورودی به یک تابع یا رویه و هم برای بازگرداندن مقادیر به محیط فراخوانی استفاده شوند. این پارامترها را می توان از آن خواند و نوشت.
استفاده: هنگامی که می خواهید مقدار ورودی را تغییر دهید و آن را به تماس گیرنده برگردانید، از پارامترهای IN/OUT استفاده کنید.
مثال:
ایجاد یا جایگزینی رویه update_salary(p_employee_id IN NUMBER، — پارامتر INp_new_salary IN OUT NUMBER — پارامتر IN/OUT) عشروع کنیدبه روز رسانی کارکنانSET حقوق = p_new_salaryWHERE staff_id = p_employee_id;
p_new_salary := p_new_salary * 1.1; — Increase salary by 10%
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
END update_salary;
در این مثال، p_new_salary یک پارامتر IN/OUT است که به روش اجازه میدهد هم حقوق جدیدی را بپذیرد و هم قبل از بازگرداندن آن به تماسگیرنده، آن را تغییر دهد.
خلاصه انواع پارامترها
استفاده از این نوع پارامترها به طور موثر به توابع و رویه های SQL انعطاف پذیرتر و قدرتمندتر در پایگاه داده اوراکل اجازه می دهد.
در Oracle SQL، هنگام تعریف توابع (و رویه ها)، پارامترها را می توان به عنوان پارامترهای IN، OUT یا IN/OUT دسته بندی کرد. در اینجا به تفکیک هر نوع آورده شده است:
- پارامترهای IN
تعریف: پارامترهای IN برای ارسال مقادیر به تابع یا رویه استفاده می شوند. آنها فقط خواندنی هستند، به این معنی که تابع نمی تواند مقدار یک پارامتر IN را تغییر دهد.
استفاده: شما معمولاً از پارامترهای IN برای ارائه داده های ورودی برای عملکرد یا رویه استفاده می کنید.
مثال:
ایجاد یا جایگزینی تابع get_discount(
p_price IN NUMBER، — IN پارامتر
پارامتر p_discount_rate IN NUMBER — IN
) بازگشت شماره AS
شروع کنید
RETURN p_price * p_discount_rate / 100; – محاسبه تخفیف
END get_discount;
در این مثال، p_price و p_discount_rate پارامترهای IN هستند که مقادیر ورودی را برای محاسبه تخفیف ارائه میکنند.
- پارامترهای OUT
تعریف: پارامترهای OUT برای برگرداندن مقادیر از تابع یا رویه به محیط فراخوانی استفاده می شود. آنها لازم نیست قبل از اینکه به تابع یا رویه منتقل شوند مقداردهی اولیه شوند.
استفاده: پارامترهای OUT معمولاً زمانی استفاده می شوند که شما نیاز به برگرداندن چندین مقدار از یک تابع یا رویه دارید.
مثال:
ایجاد یا جایگزینی رویه get_employee_details(
p_employee_id IN NUMBER، — پارامتر IN
p_employee_name OUT VARCHAR2، — پارامتر OUT
p_employee_salary OUT NUMBER — پارامتر OUT
) ع
شروع کنید
نام، حقوق و دستمزد را انتخاب کنید
INTO p_employee_name، p_employee_salary
از کارمندان
WHERE staff_id = p_employee_id;
END get_employee_details;
در این مثال، رویه get_employee_details از یک پارامتر IN p_employee_id استفاده می کند تا مشخص کند کدام کارمند باید بازیابی شود، و از پارامترهای OUT p_employee_name و p_employee_salary برای برگرداندن نام و حقوق کارمند استفاده می کند.
- پارامترهای IN/OUT
تعریف: پارامترهای IN/OUT می توانند هم برای ارسال مقادیر ورودی به یک تابع یا رویه و هم برای بازگرداندن مقادیر به محیط فراخوانی استفاده شوند. این پارامترها را می توان از آن خواند و نوشت.
استفاده: هنگامی که می خواهید مقدار ورودی را تغییر دهید و آن را به تماس گیرنده برگردانید، از پارامترهای IN/OUT استفاده کنید.
مثال:
ایجاد یا جایگزینی رویه update_salary(
p_employee_id IN NUMBER، — پارامتر IN
p_new_salary IN OUT NUMBER — پارامتر IN/OUT
) ع
شروع کنید
به روز رسانی کارکنان
SET حقوق = p_new_salary
WHERE staff_id = p_employee_id;
p_new_salary := p_new_salary * 1.1; -- Increase salary by 10%
END update_salary;
در این مثال، p_new_salary یک پارامتر IN/OUT است که به روش اجازه میدهد هم حقوق جدیدی را بپذیرد و هم قبل از بازگرداندن آن به تماسگیرنده، آن را تغییر دهد.
خلاصه انواع پارامترها
استفاده از این نوع پارامترها به طور موثر به توابع و رویه های SQL انعطاف پذیرتر و قدرتمندتر در پایگاه داده اوراکل اجازه می دهد.