متغیرها در پایگاه داده SQL

تیم تحریریه 1403/12/22 0 25
لینک کوتاه https://zoheirsoftware.com/z/363d4f697 |
متغیرها در پایگاه  داده  SQL,انواع متغیرها در SQL,نحوه ایجاد متغیر در SQL

متغیرها در پایگاه  داده  SQL

متغیرها در پایگاه داده SQL برای ذخیره مقادیر موقت در طول اجرای یک بلاک T-SQL استفاده می‌شوند.

این متغیرها معمولاً با دستور DECLARE تعریف شده و مقداردهی اولیه آن‌ها با SET یا SELECT انجام می‌شود.

متغیرها می‌توانند انواع مختلفی از داده‌ها مانند INTEGER، VARCHAR، DATETIME و غیره را نگه‌داری کنند.

استفاده از متغیرها در SQL Server به بهبود خوانایی کد و کاهش تعداد درخواست‌های پایگاه داده کمک می‌کند.

متغیرها اغلب در Stored Procedure‌ها، Functions و Triggers استفاده می‌شوند تا مقادیر موقت را مدیریت کنند.

بر خلاف Table Variables یا Temporary Tables، متغیرهای معمولی فقط یک مقدار منفرد را نگه می‌دارند و در محدوده اجرای همان بلاک کد معتبر هستند.

برای مثال، متغیری که در یک Stored Procedure تعریف شده است، فقط در همان رویه قابل دسترسی است.

استفاده از متغیرها بهینه‌تر از Temporary Tables است، زیرا نیازی به ایجاد و حذف جداول در پایگاه داده ندارد.

 

متغیرها در پایگاه داده SQL

انواع متغیرها در SQL

در SQL، متغیرها معمولاً به چهار دسته کلی تقسیم می‌شوند:

  • متغیرهای محلی (Local Variables)

    این متغیرها فقط در محدوده‌ای که تعریف شده‌اند قابل دسترسی هستند و پس از اتمام اجرای آن بخش از کد از بین می‌روند.
    برای مثال در توابع یا پروسیجرهای ذخیره شده، متغیرها معمولاً محلی هستند.

مثال:

 


DECLARE @myVariable INT;

SET @myVariable = 10;
  • متغیرهای سیستمی (System Variables)

    این متغیرها برای ذخیره‌سازی اطلاعات سیستم‌عامل و تنظیمات محیط پایگاه داده استفاده می‌شوند.
    این متغیرها معمولاً به صورت پیش‌فرض در پایگاه داده موجود هستند و نمی‌توان آن‌ها را تغییر داد.

مثال:

 

SELECT @@VERSION;
  •  متغیرهای پارامتر (Parameter Variables)

    این متغیرها معمولاً در توابع و پروسیجرهای ذخیره شده برای دریافت داده از خارج استفاده می‌شوند.
    آن‌ها می‌توانند ورودی‌هایی را از کاربر دریافت کنند و در طول فرآیند پردازش داده‌ها مورد استفاده قرار گیرند.

مثال:

 

CREATE PROCEDURE GetEmployeeDetails (@EmployeeID INT)

AS

BEGIN

    SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;

END;
  • متغیرهای جدول (Table Variables)

    این نوع از متغیرها برای ذخیره‌سازی مجموعه‌ای از داده‌ها استفاده می‌شود که می‌تواند شامل چندین ردیف و ستون باشد. متغیرهای جدول مانند جداول معمولی هستند، اما فقط در طول اجرای اسکریپت موجود می‌مانند.

مثال:

DECLARE @MyTable TABLE

(

    EmployeeID INT,

    EmployeeName VARCHAR(100)

);




INSERT INTO @MyTable (EmployeeID, EmployeeName)

VALUES (1, 'John Doe'), (2, 'Jane Smith');




SELECT * FROM @MyTable;

 

 

انواع متغیرها در SQL

نحوه ایجاد متغیر در SQL

برای ایجاد متغیر در SQL از دستور DECLARE استفاده می‌شود.

پس از اعلام متغیر، می‌توان مقدار آن را با استفاده از دستور SET یا SELECT اختصاص داد.

  •  استفاده از دستور DECLARE

    دستور DECLARE برای ایجاد متغیر در SQL استفاده می‌شود. با استفاده از این دستور، نوع داده متغیر نیز مشخص می‌شود.

مثال:

 

 

DECLARE @myVariable INT;

DECLARE @name VARCHAR(50);
  • استفاده از دستور SET

    پس از ایجاد متغیر، می‌توان از دستور SET برای اختصاص مقدار به آن استفاده کرد.
    همچنین می‌توان از دستور SELECT نیز برای اختصاص مقدار به متغیرها استفاده کرد.

مثال با SET:

 

SET @myVariable = 10;

SET @name = 'John Doe';

مثال با SELECT:

 

 

SELECT @myVariable = 10;

SELECT @name = 'John Doe';

نحوه حذف متغیر در SQL

در SQL، متغیرها به طور خودکار پس از اتمام اجرای اسکریپت از بین می‌روند و نیازی به حذف دستی آن‌ها نیست.

با این حال، اگر بخواهید یک متغیر را به صورت دستی حذف کنید، می‌توانید از دستور DEALLOCATE استفاده کنید.

توجه داشته باشید که دستور DEALLOCATE بیشتر برای متغیرهای نوع جدول (Table Variables) کاربرد دارد.

مثال:


DECLARE @MyTable TABLE

(

    ID INT,

    Name VARCHAR(100)

);




-- انجام عملیات با جدول




-- حذف جدول متغیر

DEALLOCATE @MyTable;

 

🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!

 

 

نحوه ویرایش متغیر در SQL

برای ویرایش مقدار یک متغیر در SQL، از دستور SET یا SELECT استفاده می‌شود.

می‌توانید مقدار یک متغیر را با یک مقدار جدید جایگزین کنید یا آن را به مقدار جدیدی تغییر دهید.

 

مثال:

 

 

DECLARE @myVariable INT;

SET @myVariable = 10;




-- ویرایش مقدار متغیر

SET @myVariable = 20;

SELECT @myVariable;  -- خروجی: 20

 

 

مثال‌های کاربردی از متغیرها در پایگاه  داده sql

  • استفاده از متغیرها در پروسیجرها

در اینجا یک مثال از استفاده از متغیر در یک پروسیجر SQL آورده شده است. این پروسیجر اطلاعات یک کارمند را بر اساس شناسه کارمند (EmployeeID) جستجو می‌کند.

مثال:

 

CREATE PROCEDURE GetEmployeeInfo

    @EmployeeID INT

AS

BEGIN

    DECLARE @EmployeeName VARCHAR(100);

    DECLARE @EmployeeSalary DECIMAL(10, 2);

   

    SELECT @EmployeeName = Name, @EmployeeSalary = Salary

    FROM Employees

    WHERE EmployeeID = @EmployeeID;

   

    SELECT @EmployeeName AS Name, @EmployeeSalary AS Salary;

END;

 

  • استفاده از متغیر جدول برای ذخیره داده‌ها

    در این مثال، از متغیر جدول برای ذخیره و نمایش داده‌ها استفاده شده است.

مثال:

 

DECLARE @EmployeeTable TABLE

(

    EmployeeID INT,

    EmployeeName VARCHAR(100)

);




INSERT INTO @EmployeeTable (EmployeeID, EmployeeName)

VALUES (1, 'Alice'), (2, 'Bob');




SELECT * FROM @EmployeeTable;

 

 

نکات مهم درباره استفاده از متغیرها در SQL

  • متغیرها به طور پیش‌فرض فقط در همان اسکریپت یا پروسیجر قابل استفاده هستند و پس از اتمام کار از بین می‌روند.

  • استفاده از متغیرهای مناسب می‌تواند عملکرد پایگاه داده را بهبود بخشد و کدهای پیچیده را ساده‌تر کند.

  • اگر نیاز به ذخیره‌سازی داده‌های موقت دارید، از متغیرهای جدول استفاده کنید.

  • از متغیرهای سیستم برای دسترسی به اطلاعات سیستمی مثل نسخه SQL Server یا نام کاربر جاری استفاده کنید.

 

نکات مهم درباره استفاده از متغیرها در SQL

 

مثال پروژه محور از  متغیرها در پایگاه  داده sql

پروژه: محاسبه مجموع فروش محصولات در یک دوره خاص

مرحله 1: تعریف جداول پایگاه‌داده

ابتدا جدول‌های مورد نیاز را ایجاد می‌کنیم. فرض می‌کنیم که جدول‌ها شامل اطلاعات سفارشات و محصولات باشند.

 

CREATE TABLE Products (

    ProductID INT PRIMARY KEY,

    ProductName VARCHAR(100),

    Price DECIMAL(10, 2)

);




CREATE TABLE Orders (

    OrderID INT PRIMARY KEY,

    ProductID INT,

    Quantity INT,

    OrderDate DATE,

    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)

);

مرحله 2: وارد کردن داده‌ها

داده‌هایی برای محصولات و سفارشات وارد می‌کنیم.

 

-- وارد کردن محصولات

INSERT INTO Products (ProductID, ProductName, Price)

VALUES (1, 'Product A', 50.00), (2, 'Product B', 30.00), (3, 'Product C', 20.00);




-- وارد کردن سفارشات

INSERT INTO Orders (OrderID, ProductID, Quantity, OrderDate)

VALUES (1, 1, 2, '2025-02-01'), (2, 2, 5, '2025-02-02'), (3, 1, 3, '2025-03-01');

مرحله 3: محاسبه مجموع فروش محصولات در یک تاریخ خاص

در این مرحله، می‌خواهیم مجموع فروش محصولات را برای یک دوره زمانی خاص محاسبه کنیم. برای این کار از متغیرها استفاده می‌کنیم.

 

 

DECLARE @StartDate DATE, @EndDate DATE;

SET @StartDate = '2025-02-01';

SET @EndDate = '2025-02-28';




DECLARE @TotalSales DECIMAL(10, 2);

SET @TotalSales = 0;




-- محاسبه مجموع فروش

SELECT @TotalSales = SUM(p.Price * o.Quantity)

FROM Orders o

JOIN Products p ON o.ProductID = p.ProductID

WHERE o.OrderDate BETWEEN @StartDate AND @EndDate;




SELECT @TotalSales AS TotalSalesInPeriod;

توضیحات کد:

  • در ابتدا، تاریخ شروع و پایان دوره به متغیرهای @StartDate و @EndDate اختصاص داده می‌شود.
  • سپس، یک متغیر @TotalSales برای ذخیره مجموع فروش در طول دوره تعریف می‌شود.
  • از یک JOIN برای ترکیب داده‌های سفارشات و محصولات استفاده شده و مجموع فروش محصولات با ضرب قیمت محصول در تعداد سفارشات محاسبه می‌شود.
  • در نهایت، مجموع فروش برای دوره تعیین‌شده در قالب یک متغیر به نمایش درمی‌آید.

 

دوره های مرتبط
آموزش Sql,آموزش sqlserver, آموزش جامع Sqlserver

آموزش پایگاه داده SqlServer

پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .

997,000 تومان

2.5k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.