برنامه نویسی

مورد | رمزگشایی | IF ELSE – منطق شرطی در PLSQL

Summarize this content to 400 words in Persian Lang

1. بیانیه مورد

دستور CASE منعطف است و امکان منطق شرطی پیچیده را بر اساس شرایط چندگانه فراهم می کند.

نحو

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2

ELSE default_result
END

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال SQL

SELECT employee_id,
first_name,
salary,
CASE
WHEN salary > 5000 THEN ‘High’
WHEN salary BETWEEN 3000 AND 5000 THEN ‘Medium’
ELSE ‘Low’
END AS salary_category
FROM employees;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

این پرس و جو SQL شناسه، first_name و حقوق و دستمزد را از جدول کارکنان انتخاب می کند.
این حقوق را به سه دسته تقسیم می کند: “بالا” برای حقوق بیش از 5000، “متوسط” برای حقوق بین 3000 تا 5000 و “پایین” برای حقوق زیر 3000.

2. تابع رمزگشایی

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

نحو

DECODE(expression, search1, result1, search2, result2, …, default_result)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال SQL

SELECT employee_id,
first_name,
salary,
DECODE(salary,
5000, ‘High’,
3000, ‘Medium’,
‘Low’) AS salary_category
FROM employees;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

در این پرس و جوی SQL، تابع DECODE مقدار حقوق و دستمزد را بررسی می کند.
اگر حقوق برابر با 5000 باشد، “بالا” برمی گردد. اگر برابر با 3000 باشد، “متوسط” را برمی گرداند. در غیر این صورت، “Low” را برمی گرداند.
این یک راه ساده تر برای رسیدگی به شرایط هنگام مقایسه مقادیر خاص است.

3. IF-THEN-ELSE (بلوک PL/SQL)

دستور IF-THEN-ELSE در بلوک های PL/SQL برای پیاده سازی منطق شرطی استفاده می شود.

نحو

IF condition THEN
— statements
ELSIF condition THEN
— statements
ELSE
— statements
END IF;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال PL/SQL

DECLARE
v_salary NUMBER := 4000; — Initializing a salary variable
v_category VARCHAR2(10); — Variable to hold the salary category
BEGIN
IF v_salary > 5000 THEN
v_category := ‘High’; — Set category to ‘High’
ELSIF v_salary BETWEEN 3000 AND 5000 THEN
v_category := ‘Medium’; — Set category to ‘Medium’
ELSE
v_category := ‘Low’; — Set category to ‘Low’
END IF;

DBMS_OUTPUT.PUT_LINE(‘Salary Category: ‘ || v_category);
— Output the result
END;

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

در این بلوک PL/SQL، متغیر v_salary با مقدار 4000 مقدار دهی اولیه می شود.
عبارت IF-THEN-ELSE مقدار v_salary را بررسی می کند و دسته مناسب را به v_category اختصاص می دهد.
در نهایت، دسته را با استفاده از DBMS_OUTPUT.PUT_LINE خروجی می دهد.

1. بیانیه مورد

دستور CASE منعطف است و امکان منطق شرطی پیچیده را بر اساس شرایط چندگانه فراهم می کند.

نحو


CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال SQL

SELECT employee_id,
       first_name,
       salary,
       CASE
           WHEN salary > 5000 THEN 'High'
           WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium'
           ELSE 'Low'
       END AS salary_category
FROM employees;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

  • این پرس و جو SQL شناسه، first_name و حقوق و دستمزد را از جدول کارکنان انتخاب می کند.
  • این حقوق را به سه دسته تقسیم می کند: “بالا” برای حقوق بیش از 5000، “متوسط” برای حقوق بین 3000 تا 5000 و “پایین” برای حقوق زیر 3000.

2. تابع رمزگشایی

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

نحو

DECODE(expression, search1, result1, search2, result2, ..., default_result)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال SQL

SELECT employee_id,
       first_name,
       salary,
       DECODE(salary,
              5000, 'High',
              3000, 'Medium',
              'Low') AS salary_category
FROM employees;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

  • در این پرس و جوی SQL، تابع DECODE مقدار حقوق و دستمزد را بررسی می کند.
  • اگر حقوق برابر با 5000 باشد، “بالا” برمی گردد. اگر برابر با 3000 باشد، “متوسط” را برمی گرداند. در غیر این صورت، “Low” را برمی گرداند.
  • این یک راه ساده تر برای رسیدگی به شرایط هنگام مقایسه مقادیر خاص است.

3. IF-THEN-ELSE (بلوک PL/SQL)

دستور IF-THEN-ELSE در بلوک های PL/SQL برای پیاده سازی منطق شرطی استفاده می شود.

نحو

IF condition THEN
    -- statements
ELSIF condition THEN
    -- statements
ELSE
    -- statements
END IF;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال PL/SQL

DECLARE
   v_salary NUMBER := 4000;  -- Initializing a salary variable
   v_category VARCHAR2(10);   -- Variable to hold the salary category
BEGIN
   IF v_salary > 5000 THEN
      v_category := 'High';   -- Set category to 'High'
   ELSIF v_salary BETWEEN 3000 AND 5000 THEN
      v_category := 'Medium'; -- Set category to 'Medium'
   ELSE
      v_category := 'Low';    -- Set category to 'Low'
   END IF;

   DBMS_OUTPUT.PUT_LINE('Salary Category: ' || v_category); 
-- Output the result
END;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیح:

  • در این بلوک PL/SQL، متغیر v_salary با مقدار 4000 مقدار دهی اولیه می شود.
  • عبارت IF-THEN-ELSE مقدار v_salary را بررسی می کند و دسته مناسب را به v_category اختصاص می دهد.
  • در نهایت، دسته را با استفاده از DBMS_OUTPUT.PUT_LINE خروجی می دهد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا