خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه استفاده از VIEW ها در SQL Server

نحوه استفاده از VIEW ها در SQL Server
View یک جدول مجازی است که بر اساس result set یک دستور SQL ساخته شده است. View ها را می توان از یک جدول یا View دیگر ایجاد کرد و همچنین View می تواند Join شده و چندین جدول را در یک جدول مجازی نشان دهد. View ها فضای ذخیره سازی کمتری دارند و SYNTAX ایجاد View در SQL Server به فرم زیر می باشد.

سیستم یکپارچۀ سازمانی راهکار



CREATE VIEW view_name AS
SELECT column1, column2, .....
FROM table_name WHERE condition ..

با مثال هایی که جلوتر خواهید دید، به نحوه کار و طرز استفاده آن آشنا خواهید شد.
ابتدا یک جدول ایجاد با نام EMPLOYEE ایجاد کرده و تعدادی رکورد در آن insert می کنیم.

CREATE TABLE EMPLOYEE (EMPID INT NOT NULL,
EMPNAME VARCHAR(50),
EMPCODE VARCHAR(15),
DOB DATE)

INSERT INTO EMPLOYEE(EMPID, EMPNAME, EMPCODE, DOB)
VALUES(
501, 'RAJESH MITAL', 'XCV567', '1976-11-11'),
(502, 'SUJOY SINGH', 'XCB787', '1970-10-19'),
(503, 'ABHISHEK MISHRA', 'FJV542', '1976-09-19'),
(504, 'HARSHIT KAPOOR', 'NMD557', '1980-12-10'),
(505, 'MANISH RAWAT', 'QJB987', '1985-02-15'),
(506, 'DEEPAK KUMAR', 'FZV704', '1986-11-05'),
(507, 'HARSH KUMAWAT', 'NET657', '1986-07-01'),
(508, 'ROZER JR', 'DDB987', '1987-08-02'),
(509, 'BALAJI NEGI', 'KL0542', '1980-09-03'),
(510, 'NARAYANA SWAMI', 'NSD447', '1980-10-10'),
(511, 'LOKESH MANTRI', 'BBB007', '1990-05-19'),
(512, 'SUMIT VIYAS', 'FFNM04', '1990-06-29'),
(513, 'BABA NAYAK', 'NEG157', '1989-07-13')

نحوه استفاده از VIEW ها در SQL Server
در ادامه یک view با نام View_Employee ایجاد خواهیم کرد که فیلدهای EmpID, EmpName, EmpCode, DOB را از جدول Employee بر میگرداند.

CREATE VIEW view_employee AS
SELECT EMPID, EMPNAME ,EMPCODE, DOB
FROM EMPLOYEE

نحوه استفاده از VIEW ها در SQL Server
دقیقا اگر دستور Select برای جدول Employee تایپ کنید، هما خروجی View فوق را در آن خواهید دید:

SELECT * FROM view_employee

پس در کوئری فوق، مشاهده کردید که نحوه فراخوانی View ها مانند جداول می باشد.

نحوه استفاده از VIEW ها در SQL Server
خب، به View ی فوق شروی هم می توانید اضافه کنید. مثلا کارمندانی که ID آنها بزرگتر از 505 می باشد در خروجی نمایش داده شود. پس باید View فوق را ویرایش کنید. برای ویرایش View، بصورت زیر و از دستور ALTER باید استفاده کنید. پس از درج شروط و تغییرات مورد نظر، با فشردن F5 آن را اجرا کنید.

ALTER VIEW view_employee AS
SELECT EMPID, EMPNAME ,EMPCODE, DOB
FROM EMPLOYEE WHERE EMPID >505

نحوه استفاده از VIEW ها در SQL Server
خب، با ویرایش View ی فوق، خروجی بر اساس تغییراتی که اعمال کرده اید، نمایش داده می شود.

SELECT * FROM view_employee

نحوه استفاده از VIEW ها در SQL Server
اگر در خود View در زمان ایجاد View، نمی خواهید شرط و شروطی تعیین کنید، از آنجایی که خود View هم مانند یک جدول است، می توانید با WHERE شرط را هنگام فراخوانی VIEW درج کنید. برای مشاهده جزئیات کارمندان از view_employee جایی که نام کارمندان با حرف "B" شروع می شود. فراموش نکنید که در View ما قبلا تغییراتی اعمال کرده بودیم که فقط کارمندانی که ID آنها بزرگتر از 505 است، نمایش داده شود. حالا هنگام فراخوانی همین View، می خواهیم شرط دیگری را اعمال کنیم. نمایش کارمندانی که شروع نام آنها با B باشد را نمایش دهد.

 SELECT * FROM view_employee WHERE EMPNAME LIKE 'B%'

نحوه استفاده از VIEW ها در SQL Server
یک view را تحت شرایط خاصی که در ذیل ملاحظه می کنید، می توانید آپدیت کنید.
View هایی که دارای چندین جدول هستند، قابل بروزرسانی نیستند، فقط View تک جدول می تواند آپدیت شود.
View ای که order by نداشته و همین طور دارای Subquery و DISTINCT و GROUP BY , HAVING نباشد.
به یاد داشته باشید ، View یک جدول مجازی است که از جدول واقعی ایجاد می شود، بنابراین ، اگر هر رکوردی را در VIEW آپدیت کنید، در جدول واقعی نیز آپدیت می شود.
خب، حالا می خواهیم رکوردی را توسط view آپدیت کنیم. ابتدا جدول را Select کرده و رکوردی که EMPID = 508 را مشاهده کنید.

SELECT * FROM EMPLOYEE WHERE EMPID =508
SELECT * FROM view_employee WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
همانطور که مشاهده می کنید result set فوق برای جدول employee و View ای که ایجاد کده بودید، می باشد. اکنون در ستون EMPNAME مقدار ROZER JR را به ROZER M. JR در VIEW آپدیت کنید.
با اعمال بروزرسانی رکورد در View خواهید دید که در حدول اصلی هم این بروزرسانی اعمال خواهد شد.

UPDATE view_employee SET EMPNAME = 'ROZER M. JR' WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
SELECT * FROM EMPLOYEE WHERE EMPID =508
SELECT * FROM view_employee WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
رکوردها همچنین می توانند از طریق View ها حذف هم شوند. دقیقا با همین شرایطی که در آپدیت از طریق View دیدید، قصد داریم همان رکورد که ID آن برابر 508 بود را از طریق View حذف کنیم.

 DELETE FROM view_employee WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
همانطور که مشاهد می کنید، رکورد در جدول واقعی هم حذف شده است:

SELECT * FROM EMPLOYEE WHERE EMPID =508
SELECT * FROM view_employee WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
همانند حذف و ویرایش، از طریق View رکورد هم می توانید به جدول وارد کنید.

INSERT INTO view_employee (EMPID, EMPNAME, EMPCODE, DOB)
VALUES (514, 'RHOIT KUMAR','FYX704', '1986-12-25')

نحوه استفاده از VIEW ها در SQL Server
بدین ترتیب رکورد در جدول مربوطه اضافه می شود.

SELECT * FROM EMPLOYEE WHERE EMPID =508
SELECT * FROM view_employee WHERE EMPID =508

نحوه استفاده از VIEW ها در SQL Server
شما می توانید View را با استفاده از دستور drop، حذف کنید. دقت داشته باشید که فقط View حذف خواهد شد و جدول اصلی سر جای خود خواهد ماند.

DROP VIEW view_employee

نحوه استفاده از VIEW ها در SQL Server
حال View را فراخوانی کنید.

SELECT * FROM view_employee

همانطور که مشاهده می کنید، پیغام invalid object name view_employee که view_employee را شیء نامعتبر تلقی می کند را نمایش داد.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز