Trọn Gói (BT Trắc Nghiệm+Đáp án) Môn Hệ Quản Trị CSDL ... - 123doc

Thủ tục có 1 tham số vào là sport_id và sẽ hiển thị tên các môn thể thao mà có Id bằng với tham số đầu vào INSERT INTO Nhanvien Manv, TenNV, Diachi VALUES @v_id, @v_name, @v_ADD END Để t

Trang 1

HỆ QUẢN TRỊ CSDL Câu hỏi 1

Thành phần nào sau đây thuộc phía Server trong mô hình Client – Server?

c Read Only SAI

d Auto Shink SAI

Trang 3

Tập tin có phần mở rộng là ndf được dùng để làm gì?

Chọn một câu trả lời:

a Ghi lại các thay đổi dữ liệu giúp thực hiện rollback khi cần

b Chỉ dùng khi cơ sở dữ liệu được phân chia chứa trên nhiều đĩa

c Chứa dữ liệu chính

Câu hỏi 10

Hệ quản trị cơ sở dữ liệu SQL Server 2008 không hỗ trợ tính năng nào sau đây?

a Kết nối dữ liệu với các dịch vụ điện toán đám mây

a Lưu trữ các table và stored proceduce trong quá trình làm việc

b Lưu trữ các system objects

c Hoạch định các báo động và công việc cần làm (schedule alerts and jobs)

d Lưu trữ các thông tin cấp hệ thống

Trang 4

b Tra cứu dữ liệu

c Chuyển dữ liệu giữa các Server

b SQL Server Configuration Manager

c SQL Server Management Studio

Trang 5

c Ứng dụng có thể chạy trên Client

d Server có nhiệm vụ xử lý các yêu cầu và trả lại kết quả cho Client

Trang 6

a Câu lệnh EXIT luôn luôn được sử dụng để kết thúc vòng lặp.

b Khi điều kiện được đánh giá là NULL

c Khi điều kiện được đánh giá là TRUE

d Khi điều kiện được đánh giá là FALSE

Trang 8

c @V_PRICE trong khoảng 801 và 900 V_PRICE lớn hơn 1000

d @V_PRICE trong khoảng 601 và 800 V_PRICE lớn hơn 800

Trang 9

5 SELECT ENAME, SALARY

FROM EMP WHERE DEPTNO = @V_DEPTNO

Trang 10

Cấu trúc nào sau đây dùng để thực hiện công việc sau:

Tăng 25% lương của nhân viên sinh trước năm 1980

Tăng 10% lương của nhân viên sinh từ năm 1980 đến 1990

Không tăng lương của nhân viên sinh sau năm 1990

Trang 11

a Create procedure prcDispName @cValue char(1)asDeclare @temp char(2)Select

@temp=@cValue+ ’%’ Select * from titles Where title like @temp

b Create procedure prcDispNameasDeclare @temp char(2)Select @temp=’A%’Select * from titles Where title like @temp

c Create procedure prcDispName @cValue char(1)asSelect * from titles Where title like

@cValue%

d Create procedure prcDispName@cValue char(1)asSelect * from titles Where title like ’@cValue%’

Câu hỏi 2

Bạn là nhà quản trị CSDL SQL Bạn đang phát triển 1 ứng dụng DB cho phòng kế toán công

ty của bạn Ứng dụng này chứa nhiều modules được tích hợp nhau Các user thuờng gặp phải deadlock bất kỳ lúc nào một người nào đó thực hiện 1 hàm mà nó cần tích hợp từ nhiều module Làm thế nào đê giảm thiểu các deadlock này?

Trang 13

Xác định ý nghĩa thủ tục sau:CREATE PROC get_playername @sport_id

varchar(10)ASSELECT player_lname, player_fnameFROM sports WHERE sport_id =

c Thủ tục có 1 tham số vào là sport_id và sẽ hiển thị tên vận động viên (player) mà

có Id bằng với tham số đầu vào

d Thủ tục có 1 tham số vào là sport_id và sẽ hiển thị tên các môn thể thao mà có Id bằng với tham số đầu vào

INSERT INTO Nhanvien (Manv, TenNV, Diachi)

VALUES (@v_id, @v_name, @v_ADD)

END

Để thực hiện đoạn thủ tục trên thì dùng lệnh?

Chọn một câu trả lời:

a EXECUTE INS_NV 3,'HA','HANOI'

b EXECUTE INS_NV 3, 'LONG'

c EXECUTE INS_NV@V_ID = @V_NAME = 'LONG', V_ADD = 'HAIPHONG'

d Không lựa chọn nào đúng

Trang 14

b INSERT SAVEPOINT Returnback

c INSERT TRANSACTION Returnback

d SAVE SAVEPOINT Returnback

Chọn một câu trả lời:

a Tạo 1 thủ tục cho mỗi mã vùng

b Tạo 1 view cho mỗi mã vùng

Trang 15

c Chia bảng thành nhiều bảng, mỗi bảng chứa 1 mã vùng Sau đó xây dựng 1 view kết các bảng này lại sao cho dữ liệu có thể vẫn được xem như chỉ từ 1 bảng

d Tạo 1 thủ tục (stored procedure) yêu cầu mã vùng như tham số đầu vào, bao gồm tuỳ chọn WITH RECOMPILE khi tạo thủ tục

c Mọi dữ liệu đều ở trạng thái không thay đổi sau khi transaction đã thực hiện thành công

d Việc chỉnh sửa dữ liệu được làm bởi 1 transaction này thì độc lập với việc chỉnh sửa dữliệu của 1 transaction khác

UPDATE NHANVIEN SET luong = 6000 WHERE TenNV = 'A'

SAVE tran save_A

UPDATE NHANVIEN SET luong = 7500 WHERE TenNV = 'A'

SAVE tran save_A

Trang 16

UPDATE NHANVIEN SET luong = 3000 WHERE TenNV = 'A'

SAVE Tran save_A1

ROLLBACK tran save_A

SalesInformationWHERE @SalesPersonID = SalesPersonIDLệnh nào sau đây sẽ thực thi đúng thủ tục trên?

Chọn một câu trả lời:

a EXECUTE GetSalesPersonData @SalesPersonID = 1, @RegionID= 1,

@SalesAmount= NULL SAI

b EXECUTE GetSalesPersonData 1, 1, NULL SAI

c EXECUTE GetSalesPersonData @SalesPersonID=1, @RegionID=1,

@SalesAmount=0

d EXECUTE GetSalesPersonData 1,1, @SalesAmount OUTPUT

Câu hỏi 8

Paul thực hiện lệnh SQL sau:SELECT Customers.name, Customers.ord_id,

Orders.ord_dateFROM Customers INNER JOIN OrdersWHERE Customers.cust_id =

Orders.cust_idMỗi bảng trong lệnh trên đều chứa 10000 hàng, do đó phải mất nhiều thời gian

để thực hiện Để cải thiện việc thực thi truy vấn này, nên dùng đối tượng nào sau đây:

Trang 17

Câu hỏi 1

Để tạo trigger phải xấc định những nội dung gì

Chọn một câu trả lời:

a Tên và bảng chịu tác động

b Trigger sẽ làm những thao tác gì khi được kích hoạt

c Tất cả các nội dung được liệt kê

d Lệnh nào sẽ kích hoạt trigger thực hiện

Khi thực hiện thao tác nào với bảng thì trigger được gọi?

Trang 18

a Các ràng buộc mà không thể mô tả khi định nghĩa bảng

b Khi có sự thay đổi dữ liệu ở 1 bảng và muốn dữ liệu trên một số bảng khác liên quan tựđộng thay đổi theo

c Tất cả các phương án đều đúng

Câu hỏi 6

Sự khác biệt cơ bản giữa dettach và xóa CSDL?

Chọn một câu trả lời:

a CSDL xóa hẳn trong máy

b CSDL xóa hẳn nhưng instance vẫn quản ly

c CSDL vẫn còn trong máy nhưng tạm thời bị tách khỏi Instance

a Thực hiện sao lưu Full một lần vào lúc bắt đầu ngày (chuẩn bị làm việc với CSDL)

b Thực hiện nhiều sao lưu Differential trong ngày (định kỳ khoảng một vài tiếng một lần)

c Thực hiện nhiều sao lưu Transaction trong ngày

Trang 19

c 4

d 5

CÂU HỎI 10: Các đặc điểm sau là của phương pháp sao lưu nào?

-Chỉ sao lưu những thay đổi trên dữ liệu kể từ lần full backup gần nhất-Sử dụng ít tài nguyên hơn

-Không ảnh hưởng đến hiệu suất của hệ thống

-Sẽ vô nghĩa nếu không có bản sao lưu full backup

Các đặc điểm sau là của phương pháp sao lưu nào?

-Sao lưu bản đầy đủ của CSDL

-Quá trình được thực hiện mà không cần offline CSDL

-Chiếm lượng lớn tài nguyên hệ thống

- Ảnh hưởng thời gian đáp ứng các yêu cầu hệ thống

Các đặc điểm sau là của phương pháp sao lưu nào?

-Chỉ sao lưu những thay đổi trên dữ liệu kể từ lần full backup gần nhất-Sử dụng ít tài nguyên hơn

-Không ảnh hưởng đến hiệu suất của hệ thống

-Sẽ vô nghĩa nếu không có bản sao lưu full backup

Trang 20

a Trigger For/After -> Trigger instead of -> Constraint

b Constraint -> Trigger instead of -> Trigger For/After

c Trigger instead of -> Constraint -> Trigger For/After

d Constraint -> Trigger instead of ->Trigger For/After

Câu hỏi 5

Đặc điểm của trigger là gì?

Chọn một câu trả lời:

a Trigger có thể thực hiện nhiều công việc và được thực hiện bằng câu lệnh được gọi

b Trigger có thể thực hiện nhiều công việc và được thực hiện tự động thông qua sự kiện

c Trigge chỉ có thể thực hiện một công việc và được thực hiện bằng câu lệnh được gọi

d Trigger chỉ có thể thực hiện một công việc và được thực hiện tự động thông qua sự kiện

KIEM TRA 1

Trang 22

Cho CSDL quản lý sản phẩm với bảng tblNHANVIEN gồm các dòng dữ liệu:

Cho biết kết quả của câu lệnh truy vấn sau:

Trang 23

Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) Đâu là câu truy vấn

để cho danh sách tên các sản phẩm có đơn giá từ 50000 đến 100000

Trang 24

c 3

d 36

Câu hỏi 10

Cho bảng tblNHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) Đâu là câu truy vấn

để cho danh sách tên của các nhân có hệ số lương trên 3.66

Paul thực hiện lệnh SQL sau:SELECT Customers.name, Customers.ord_id,

Orders.ord_dateFROM Customers INNER JOIN OrdersWHERE Customers.cust_id =

Orders.cust_idMỗi bảng trong lệnh trên đều chứa 10000 hàng, do đó phải mất nhiều thời gian

để thực hiện Để cải thiện việc thực thi truy vấn này, nên dùng đối tượng nào sau đây:

Hãy tìm lỗi trong thủ tục sau:Create proc prc1ASDeclare @a smallintDeclare @b smallintSet

@a = 1Set @b= 1While (@a <=10)BeginWhile (@a <5) AND (@b>1) or (@b<3)BeginSet

@a= @a+@bSet @b=@b+1EndEndreturn

Chọn một câu trả lời:

a Vòng lặp không kết thúc

b Không có kiểu dữ liệu smallint

Trang 25

Chọn một câu trả lời:

a DECLARE @retval intDECLARE @ytd int EXEC get_sales_for_title’Net Etiquette’,

@ytd OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd)GO

b DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ’Net Etiquette’,

@ytdIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR

(@ytd)GO

c DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ’Net Etiquette’,@retval OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year

to date sales: ’ + STR (@ytd)GO

d DECLARE @retval int DECLARE @ytd int EXEC @retval = get_sales_for_title ’Net Etiquette’, @ytd OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd) GO

Câu hỏi 15

Xác định ý nghĩa thủ tục sau:CREATE PROC get_playername @sport_id

varchar(10)ASSELECT player_lname, player_fnameFROM sports WHERE sport_id =

c Thủ tục có 1 tham số vào là sport_id và sẽ hiển thị tên vận động viên (player) mà

có Id bằng với tham số đầu vào

d Thủ tục có 1 tham số vào là sport_id và sẽ hiển thị tên các môn thể thao mà có Id không bằng với tham số đầu vào

Câu hỏi 16

Trang 26

Thứ tự kiêm tra ràng buộc toàn vẹn dữ liệu là gì?

Chọn một câu trả lời:

a Constraint -> Trigger instead of -> Trigger For/After

b Trigger instead of -> Constraint -> Trigger For/After

c Constraint -> Trigger instead of ->Trigger For/After

d Trigger For/After -> Trigger instead of -> Constraint

a Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng

INSERTED khi thêm với bảng NHÂN VIÊN

b Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng INSERTED khi sửa với bảng NHÂN VIÊN

c Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng DELETED khixóa với bảng NHÂN VIÊN

d Lấy giá trị đang được nhập tạm thời của thuộc tính Giới tính trong bảng DELETED khithêm với bảng NHÂN VIÊN

Câu hỏi 18

Trang 27

Mục đích của câu lệnh ALTER TRIGGER là gì?

Cho bảng tblCTHOADON (sMaHD, sMaSP, iSL, fDG, fThanhTien) và

tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)

Đoạn Trigger sau để thực hiện yêu cầu gì:

CREATE TRIGGER suaCTHD

Declare int @sl, float @dg, nvarchar @soHD

Select @sl = iSL, @dg = fDG, @soHD = sMaHD

From insterted

Update tblHOADON

Set TongTien = TongTien + @sl * @dg

Trang 28

Where sMaHD = @soHD

From tblSANPHAM as A, tblCTHOADON

Where dNgayLap = @d and A.sMaSP = B.sMaSP

From tblSANPHAM as A, tblCTHOADON as B, tblHOADON as C

Where dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHD

END

d CREATE PROC spTenSP

As

BEGIN

Trang 29

Declare datetime @d

Select sTenSP

From tblSANPHAM as A, tblCTHOADON as B, tblHOADON as C

Where dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHD

@d)AsBEGINSelect sTenSPFrom tblSANPHAM

as A, tblCTHOADONWhere dNgayLap =

@d and A.sMaSP = B.sMaSP

END

c CREATE PROC

spTenSP(datetime

@d) As

BEGINSelect sTenSPFrom tblSANPHAM

as A,

tblCTHOADON as

B, tblHOADON as C

Where dNgayLap =

@d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND

d CREATE PROC spTenSP

AsBEGINDeclare datetime @dSelect sTenSPFrom tblSANPHAM

as A, tblCTHOADON as

B, tblHOADON as C

Where dNgayLap =

@d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND

Trang 30

b Cho danh sách tên sản phẩm có đơn giá lớn hơn một số @a và xuất sứ từ một nước @xs nào đó, với số @a và xuất sứ @xs là tham số truyền vào

c Cho danh sách thông tin đầy đủ các sản phẩm có đơn giá lớn hơn một số @a và xuất sứ

@xs từ một nước nào đó, với số @a và xuất sứ @xs là tham số truyền vào

d Cho danh sách tên sản phẩm có đơn giá lớn hơn một số @a, với số @a là tham số truyền vào

From tblSANPHAM as A, tblCTHOADON as B

Where sMaHD = @mhd and A.sMaSP = B.sMaSP

From tblSANPHAM as A, tblCTHOADON as B

Where sMaHD = @mhd and A.sMaSP = B.sMaSP

As

c CREATE PROC spTenSP(nvarchar(9) @mhd)

d CREATE PROC spTenSP(nvarchar(9) @mhd)

Trang 31

tblSANPHAM as

A, tblCTHOADON asB

Where sMaHD =

@mhd and A.sMaSP = B.sMaSPEND

AsBEGINSelect sTenSPFrom

tblCTHOADON, tbSANPHAMWhere sMaHD =

@mhdEND

AsBEGINSelect sTenSPFrom

tblCTHOADONWhere sMaHD =

@mhdEND

Trang 32

Where fDonGia between @a and @b

BEGINSelect sTenSPFrom tblSANPHAMWhere fDonGia

>@aEND

c CREATE PROC spTenSP

AsBEGINSelect sTenSPFrom tblSANPHAMWhere fDonGia between 30000 and 100000

END

d CREATE PROC spTenSP

AsBEGINDeclare float @a, float @b

Select sTenSPFrom tblSANPHAMWhere fDonGia between @a and @bEND

Câu hỏi 16

Cho CSDL quản lý bán hàng gồm hai bảng:

tblKHACHHANG(sSdtKH, sTenKH, SoHoaDon)

tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)

Đoạn mã trigger để cho phép mỗi lần chèn thêm một hóa đơn mới thì tổng số hóa đơn của khách hàng được tăng lên tương ứng một đơn vị

Trang 33

ON tblHOADONInstead of InsertBegin

Declare @soDT nvarchar(10)Select @soDT = sSDTKH

From tblHOADONUpdate

tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH =

c CREATE TRIGGER ThemHoaDon

ON tblHOADONInstead of InsertBegin

Declare @soDT nvarchar(10)Update tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH =

@soDTend

d CREATE TRIGGER ThemHoaDon

ON tblHOADONInstead of updateBegin

Declare @soDT nvarchar(10)Select @soDT = sSDTKH

From insertedUpdate tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH =

Trang 34

Câu hỏi 17

Cho bảng NV(MaNV, …, MaPB), DA(MaDA, …., MaPB) và PB(MaPB, ….)

Viết trigger để khi xóa một PB thì các nhân viên và dự án của phòng ban đó cũng được xóa luôn

DECLARE @MaPhg nvarchar(9)

SELECT @MaPhg = MaPB FROM DELETED

IF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)

DELETE FROM DEAN WHERE MaPB = @MaPhg

IF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)

DELETE FROM NHANVIEN WHERE MaPB = @MaPhg

IF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)

DELETE FROM DEAN WHERE MaPB = @MaPhg

DECLARE @MaPhg nvarchar(9)

SELECT @MaPhg = MaPB FROM DELETED

Trang 35

IF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)

DELETE FROM NHANVIEN WHERE MaPB = @MaPhg

DECLARE @MaPhg nvarchar(9)

SELECT @MaPhg = MaPB FROM DELETED

IF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)

DELETE FROM NHANVIEN WHERE MaPB = @MaPhg

IF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)

DELETE FROM DEAN WHERE MaPB = @MaPhg

ON PHONGBANAFTER DeleteAS

Begin

IF EXISTS(SELECT * FROM NHANVIENWHERE MaPB =

@MaPhg)DELETE FROM NHANVIEN WHERE MaPB =

@MaPhg

IF EXISTS(SELECT * FROM DEAN WHERE MaPB =

@MaPhg)DELETE FROM DEAN WHERE MaPB = @MaPhgEnd

c CREATE TRIGGER XoaPB

ON PHONGBANAFTER DeleteAS

BeginDECLARE

@MaPhg nvarchar(9)SELECT @MaPhg

= MaPB FROM DELETED

IF EXISTS(SELECT * FROM NHANVIENWHERE MaPB =

@MaPhg)DELETE FROM NHANVIEN WHERE MaPB =

@MaPhgEnd

d CREATE TRIGGER XoaPB

ON PHONGBANAFTER DeleteAS

Begin DECLARE @MaPhg

nvarchar(9)

SELECT @MaPhg =

MaPB FROM DELETED

IF EXISTS(SELECT

* FROM NHANVIEN WHERE MaPB =

@MaPhg)DELETE FROM NHANVIEN WHERE MaPB =

@MaPhg

IF EXISTS(SELECT

* FROM DEAN WHERE MaPB =

@MaPhg)DELETE FROM DEAN WHERE MaPB = @MaPhgEnd

Trang 36

Câu hỏi 18

Cho hai bảng

tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)

tblCTHOADON (sMaHD, sMaSP, iSL, fDG)

Đoạn Trigger nào để thực hiện yêu cầu: Mỗi khi thêm một dòng mới vào bảng

tblCTHOADON thì tổng tiền của tblHOADON với mã tương ứng được tăng theo tuỳ theo số lượng và đơn giá được nhập vào

Declare int @sl, float @dg, nvarchar(9) @soHD

Select @sl = iSL, @dg = fDG, @soHD = sMaHD

From insterted

Update tblHOADON

Set TongTien = TongTien + @sl * @dg

Where sMaHD = @soHD

Declare int @sl, float @dg, nvarchar(9) @soHD

Select @sl = iSL, @dg = fDG, @soHD = sMaHD

From insterted

Update tblHOADON

Set TongTien = TongTien + @sl * @dg

Where sMaHD = @soHD

Trang 37

Instead of Insert

As

Begin

Update tblHOADON

Set TongTien = TongTien + iSL * fDG

Where sMaHD = @soHD

ON tblHOADONInstead of InsertAs

BeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL,

@dg = fDG, @soHD

= sMaHDFrom instertedUpdate tblHOADONSet TongTien = TongTien + @sl *

@dgWhere sMaHD =

@soHDEnd

c CREATE TRIGGER themCTHD

ON tblCTHOADONInstead of InsertAs

BeginUpdate tblHOADONSet TongTien = TongTien + iSL * fDG

End

d CREATE TRIGGER themCTHD

ON tblCTHOADONInstead of InsertAs

BeginUpdate tblHOADONSet TongTien = TongTien + iSL * fDG

Where sMaHD =

@soHDEnd

Câu hỏi 19

Cho CSDL gồm 2 bảng:

DUAN ( MADA, TENDA, DIADIEM, NgayBD, MAPB)

PHANCONG MADA, MANV, SoGio, NgLamDA)

Viết trigger để kiểm soát ngày làm gia dự của nhân viên phải sau ngày dự án đó bắt đầuChọn một câu trả lời:

a Không có phương án nào đúng

b CREATE TRIGGER CHECK_NGAY_THAM_GIA_DA

Trang 38

declare @NgTG datetime, @NgBD datetime

SET @NgTG = (SELECT NgLamDA FROM INSERTED)

SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTED

declare @NgTG datetime, @NgBD datetime

SET @NgTG = (SELECT NgLamDA FROM INSERTED)

SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTED

WHERE DEAN.MaDA = INSERTED.MaDA)

SET @NgTG = (SELECT NgLamDA FROM INSERTED)

SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTED

WHERE DEAN.MaDA = INSERTED.MaDA)

ON PHANCONGAFTER UPDATE, INSERT

AS

IF

d CREATE TRIGGER CHECK_NGAY_THAM_GIA_DA

ON PHANCONGAFTER UPDATE, INSERT

AS

IF

Từ khóa » Trắc Nghiệm Sql Server Có đáp An