Điều gì làm cho vòng lặp WHILE ngừng lặp?
Câu lệnh EXIT luôn luôn được sử dụng để kết thúc vòng lặp.
Khi điều kiện được đánh giá là FALSE
Khi điều kiện được đánh giá là NULL
Khi điều kiện được đánh giá là TRUE
@V_GRADE nhận giá trị 'C' thì @V_PRICE sẽ nhận giá trị thế nào?IF @V_PRICE > 1000 Set @V_GRADE = 'A'ELSEIF @V_PRICE > 900Set @V_GRADE = 'B'ELSEIF @V_PRICE > 800 Set @V_GRADE = 'C'ELSEIF @V_PRICE > 600 Set@V_GRADE = 'D'ELSE Set@V_GRADE = 'E'
@V_PRICE lớn hơn 1000
@V_PRICE lớn hơn 800
@V_PRICE trong khoảng 601 và 800 V_PRICE lớn hơn 800
@V_PRICE trong khoảng 801 và 900 V_PRICE lớn hơn 1000
Allen muốn xoá thủ tục dbo.fx_order_cost. Lệnh nào được dùng để xoá thủ tục này?
DELETE
DROP
EDIT
REMOVE
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?
Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng không theo cùng thứ tự
Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng phải theo cùng 1 thứ tự
Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng phải theo thứ tự ngược nhau
Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa phù hợp với cách thực thi của công cụ query optimizer
Biến @a nhận giá trị nào khi khối lệnh sau được thực thi?DECLARE @a intBEGINselect @a= @a + 1ENDselect @a 1 0 Tất cả đều sai
0
1
NULL
Tất cả đều sai
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
Differential
Full backup
Transaction log 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
Differential
Full backup
Transaction log backup
Các hàm nào không thể sử dụng với kiểu dữ liệu xâu?
Các đáp án đều sai
COUNT()
MIN() và MAX()
SUM() và AVG()
Các lệnh nào sau đây bạn sẽ dùng để tạo thủ tục (procedure) mà nhận vào 1 ký tự và hiển thị các tiêu đề bắt đầu với ký tự đó:
Create procedure prcDispName @cValue char(1)asDeclare @temp char(2)Select @temp=@cValue+ ’%’ Select * from titles Where title like @temp
Create procedure prcDispName @cValue char(1)asSelect * from titles Where title like @cValue%.
Create procedure prcDispName@cValue char(1)asSelect * from titles Where title like ’@cValue%’
Create procedure prcDispNameasDeclare @temp char(2)Select @temp=’A%’Select * from titles Where title like @temp
Các phương pháp phân mảnh gồm:
Phân mảnh dọc
Phân mảnh hỗn hợp
Phân mảnh ngang
Tất cả các phương án đều đúng
Các trường hợp nào bắt buộc phải sử dụng trigger?
Các ràng buộc mà không thể mô tả khi định nghĩa bảng
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
Tất cả các phương án đều đúng
Cảnh báo lỗi “…… .mdf cannot be overwritten. It is being used by database ‘…’” xảy ra khi thực hiện thao tác gì?
Khôi phục CSDL
Nhập (import) CSDL
Sao lưu CSDL
Xuất (export) CSDL
Cấu hình nào sau đây được Windows cung cấp sẵn, dùng làm kết nối trung gian giữa ứng dụng và các hệ quản trị CSDL?
Kết nối mạng trên Server
Net-Library
ODBC
OLE DB
Câu lệnh CREATE LOGIN <tên đăng nhập> FROM WINDOWS[ WITH [ DEFAULT_DATABASE = <Tên CSDL> ]được dùng để làm gì?
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
Tạo login với quyền đăng nhập SQL Server
Tạo login với quyền đăng nhập Window
Câu lệnh để cấp phát tất cả các quyền cho tất cả các tài khoản được viết như thế nào?
GRANT allTO accounts
GRANT allTO all accounts
GRANT allTO public
Không có đáp án nào đúng
Câu lệnh để hủy bỏ tất cả các quyền trên CSDL đối với tài khoản db_user1
REVOKE ALL
REVOKE ALLFROM db_user1
REVOKE Select, Insert, DeleteFROM db_user
REVOKEFROM db_user
Câu lệnh để thực hiện Cấp phát cho tài khoản ‘db_user1’ được quyền xem và cập nhật dữ liệu trên cột ‘hoten, diachi, và Luong của bảng nhân viên’ được viết như thế nào?
GRANT SELECT, UPDATEON NHANVIEN( hoten, diachi, luong)TO db_user1
GRANT SELECT, UPDATEON NHANVIENTO db_user1
GRANT SELECTON NHANVIENTO db_user1
GRANT UPDATEON NHANVIEN( hoten, diachi, luong)
Câu lệnh để thực hiện “Hủy bỏ quyền xem và cập nhất dữ liệu trên cột ‘Luong’ của bảng nhân viên đối với tài khoản có tên là ‘db_user1’ ” được viết như thế nào?
REVOKE SELECT, UPDATEON NHANVIEN
REVOKE SELECT, UPDATEON NHANVIEN( Luong )FROM db_user1
REVOKE SELECT, UPDATEON NHANVIENFROM db_user1
REVOKE SELECTON NHANVIEN( Luong )FROM db_user1
Câu lệnh nào được phép dùng trong khối lệnh T-SQL?
ALTER TABLE
CREATE VIEW
DELETE
DROP TABLE
Câu lệnh nào không được phép dùng trong khối lệnh T-SQL?
Create
Delete
Select colum1, column2,...
Update
Câu lệnh sau đây thực hiện gìCREATE LOGIN testWITH PASSWORD = ‘12345’ MUST_CHANGE
check_box Cho phép tạo một tài khoản login mới với tên là “test” và mật khẩu là “12345”. Yêu cầu lần đầu sau khi đăng nhập của tài khoản phải đổi mật khẩu. Tài khoản đăng nhập với quyền xác thực SQL Server
Cho phép tạo một tài khoản login mới với tên là “test” và mật khẩu là “12345” để đăng nhập hệ thống, tài khoản xác thực chế độ SQL Server
Cho phép tạo một tài khoản login mới với tên là “test” và mật khẩu là “12345”. Yêu cầu lần đầu sau khi đăng nhập phải đổi mật khẩu. Tài khoản đăng nhập với quyền xác thực Window
Cho phép tạo tài khoản người dùng là Test với mật khẩu là 12345 để đăng nhập hệ thống
Câu lệnh sau thực hiện công việc gì?DENY SELECT, INSERT, UPDATE ON TacGiaTO db_user1, db_user2
Từ chối quyền được phép chọn – chèn và sửa trên bảng TacGia với tài khoản db_user1 và db_user2
Từ chối quyền được phép chọn – chèn và sửa trên bảng TacGia với tất cả các tài khoản
Từ chối quyền được phép chọn sửa trên bảng TacGia với tài khoản db_user1 và db_user2
Từ chối quyền được phép xoa – chọn và sửa trên bảng TacGia với tài khoản db_user1 và db_user2
Câu lệnh sau thực hiện gì?GRANT CREATE TABLE, CREATE VIEWTO db_user
Cấp quyền được phép sửa bảng và sửa view đối với tất cả các tài khoản
Cấp quyền được phép tạo bảng và tạo view đối với tài khoản db_user
Cấp quyền được phép tạo bảng và tạo view đối với tất cả các tài khoản
Cấp quyền được phép xóa bảng và xóa view đối với tất cả các tài khoản
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 1980Tăng 10% lương của nhân viên sinh từ năm 1980 đến 1990Không tăng lương của nhân viên sinh sau năm 1990
. IF… …ELSE
IF… …ELSIF…ELSE
Không có đáp án đúng
WHILE
Cho bảng NHANVIEN (MaNV, HoTen, NgaySinh, TrinhDo, ChuyenNganh, Nam). Phương pháp tách bảng NHANVIEN thành hai bảng sau tblNV(MaNV, HoTen, NgaySinh) và tblNV2(MaNV, TrinhDo, ChuyenNganh, Nam) là phương pháp phân mảnh gì?
check_box Phân mảnh dọc
Phân mảng ngang
Phân mảnh hỗn hợp
Phân mảnh phân tán
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.
CREATE TRIGGER XoaPBON PHONGBANAFTER DeleteASBeginDECLARE @MaPhg nvarchar(9)SELECT @MaPhg = MaPB FROM DELETEDIF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)DELETE FROM DEAN WHERE MaPB = @MaPhgEnd
CREATE TRIGGER XoaPBON PHONGBANAFTER DeleteASBeginDECLARE @MaPhg nvarchar(9)SELECT @MaPhg = MaPB FROM DELETEDIF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)DELETE FROM NHANVIEN WHERE MaPB = @MaPhgEnd
CREATE TRIGGER XoaPBON PHONGBANAFTER DeleteASBeginDECLARE @MaPhg nvarchar(9)SELECT @MaPhg = MaPB FROM DELETEDIF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)DELETE FROM NHANVIEN WHERE MaPB = @MaPhgIF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)DELETE FROM DEAN WHERE MaPB = @MaPhgEnd
CREATE TRIGGER XoaPBON PHONGBANAFTER DeleteASBeginIF EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)DELETE FROM NHANVIEN WHERE MaPB = @MaPhgIF EXISTS(SELECT * FROM DEAN WHERE MaPB = @MaPhg)DELETE FROM DEAN WHERE MaPB = @MaPhgEnd
Cho bảng PHANCONG(MADA, MANV, SoGio)Đoạn mã tạo trigger cho phép nhập số giờ của nhân viên chỉ là từ 5 đến 10 khi thêm phân công nhân viên thực hiện dự án
CREATE TRIGGER TG_PCON PHANCONGINSTEAD OF DeleteASBEGINdeclare @tg as floatSELECT @tg = SoGio from DELETEDif (@tg<5 or @tg>10)Raiserror('Thoi gian chi nhap tu 5 den 10', 16,1)END
CREATE TRIGGER TG_PCON PHANCONGINSTEAD OF insertASBEGINdeclare @tg as floatSELECT @tg = SoGio from INSERTEDif (@tg<5 and @tg>10)Raiserror('Thoi gian chi nhap tu 5 den 10', 16,1)END
CREATE TRIGGER TG_PCON PHANCONGINSTEAD OF insertASBEGINdeclare @tg as floatSELECT @tg = SoGio from INSERTEDif (@tg<5 or @tg>10)Raiserror('Thoi gian chi nhap tu 5 den 10', 16,1)END
CREATE TRIGGER TG_PCON PHANCONGINSTEAD OF insertASBEGINdeclare @tg as floatSELECT @tg = SoGio from INSERTEDif not (@tg<5 and @tg>10)Raiserror('Thoi gian chi nhap tu 5 den 10', 16,1)END
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 suaCTHDON tblCTHOADONInstead of updateAsIf update(iSL) Begin Declare int @sl, float @dg, nvarchar @soHD Select @sl = iSL, @dg = fDG, @soHD = sMaHD From insterted Update tblHOADON Set TongTien = TongTien + @sl * @dg Where sMaHD = @soHDEnd
check_box Khi cập nhật giá trị tại cột Số lượng (iSL) trong bảng tblCTHOADON thì thành tiền tương ứng của mặt hàng đó trong được tính toán lại tương ứng
Khi cập nhật dữ liệu trong bảng tblCTHOASDON thì thành tiền tương ứng của mặt hàng đó được tính toán lại tương ứng
Khi cập nhật giá trị tại cột đơn giá (fDG) của sản phẩm mua thì thành tiền tương ứng của mặt hàng đó trong Hóa đơn được tính toán lại tương ứng
Khi thêm một dòng mới vào bảng tblCTHOADON thì số tiền trong hóa đơn được cập nhật tương ứng
Cho bảng tblCTHOADON (sMaHD, sMaSP, iSL, fDG, fThanhTien). Đoạn Trigger cho phép Khi cập nhật giá trị tại cột Số lượng thì thành tiền tương ứng của mặt hàng đó được tính toán lại tương ứng
check_box CREATE TRIGGER suaCTHDON tblCTHOADONInstead of updateAsIf update(iSL)BeginDeclare int @sl, float @dg, nvarchar(9) @soHD, nvarchar(9) @maSPSelect @sl = iSL, @dg = fDG, @soHD = sMaHD, @maSP = sMaSPFrom instertedUpdate tblCTHOADONSet fThanhTien = @sl * @dgWhere sMaHD = @soHD and sMaSP = @maSPEnd
CREATE TRIGGER suaCTHDON tblCTHOADONInstead of insertAsIf update(iSL)BeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL, @dg = fDG, @soHD = sMaHDFrom instertedUpdate tblCTHOADONSet fThanhTien = @sl * @dgWhere sMaHD = @soHDEnd
CREATE TRIGGER suaCTHDON tblCTHOADONInstead of updateAsBeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL, @dg = fDG, @soHD = sMaHDFrom instertedUpdate tblCTHOADONSet fThanhTien = @sl * @dgWhere sMaHD = @soHD and sMaSP = @maSPEnd
CREATE TRIGGER suaCTHDON tblCTHOADONInstead of updateAsIf update(iSL)BeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL, @dg = fDGFrom instertedUpdate tblCTHOADONSet fThanhTien = @sl * @dgEnd
Cho bảng tblNHANVIEN(maNV, HoTen, QueQuan, HSL).Câu lệnh để phân quyền được phép xem (lấy) dữ liệu trên bảng tblNHANVIEN cho tài khoản “nguoidung1” là gì?
check_box GRANT SELECTON tblNHANVIENTO nguoidung1
GRANT ALLON tblNHANVIENTO nguoidung1
GRANT ALLON tblNHANVIENTO public
GRANT VIEWON tblNHANVIENTO nguoidung1
Cho bảng tblNHANVIEN(maNV, HoTen, QueQuan, HSL).Câu lệnh để phân quyền được phép xem (lấy)và chỉnh sửa dữ liệu trên cột (HoTen, QueQuan) của bảng tblNHANVIEN cho tài khoản “nguoidung1” là gì?
check_box GRANT SELECT, UPDATEON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
GRANT SELECT, UPDATEON tblNHANVIENTO nguoidung1
GRANT UPDATEON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
GRANT VIEW, UPDAEON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
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
check_box Select sHotenFrom tblNHANVIENWhere fHSL>3.66
Select *From tblNHANVIENWhere fHSL>3.66
Select sHoten, fHSLFrom tblNHANVIENWhere fHSL>3.66
Select sHotenFrom tblNHANVIEN
Cho bảng tblNHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan). Đâu là câu truy vấn để cho danh sách tên và hệ số lương của các nhân có hệ số lương trên 3.33
check_box Select sHoten, fHSLFrom tblNHANVIENWhere fHSL>3.33
Select *From tblNHANVIENWhere fHSL>3.33
Select sHoten, fHSLFrom tblNHANVIENWhere fHSL<3.33
Select sHotenFrom tblNHANVIENWhere fHSL>3.33
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM), tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV) Đâu là thủ tục để cho biết tên các sản phẩm đã được mua hàng trong một ngày nào đó
check_box CREATE PROC spTenSP(datetime @d)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
CREATE PROC spTenSP(datetime @d)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADONWhere dNgayLap = @d and A.sMaSP = B.sMaSPEND
CREATE PROC spTenSP(datetime @d)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblHOADON as CWhere dNgayLap = @dEND
CREATE PROC spTenSPAsBEGINDeclare datetime @dSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM), tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV) Đâu là thủ tục để cho danh sách tên sản phẩm đã được bán trong một hóa đơn nào đó?
check_box CREATE PROC spTenSP(varchar(9) @mhd)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere sMaHD = @mhd and A.sMaSP = B.sMaSPEND
CREATE PROC spTenSP(varchar(9) @mhd)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere tblHOADON.sMaHD = @mhd END
CREATE PROC spTenSPAsBEGINDeclare varchar(9) @mhdSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere dNgayLap = @d and A.sMaSP = B.sMaSPEND
CREATE PROC spTenSPAsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere and A.sMaSP = B.sMaSPEND
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM), tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV) Đâu là thủ tục để cho danh sách tên sản phẩm đã được bán trong một tháng của một năm nào đó?
check_box CREATE PROC spTenSP(int @m, int @y)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere month(dNgayLap) = @m and year(dNgayLap) = @y and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
CREATE PROC spTenSP(int @m, int @y)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere month(dNgayLap) = @m and year(dNgayLap) = @yEND
CREATE PROC spTenSPAsBEGINDeclare int @m, int @ySelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere month(dNgayLap) = @m and year(dNgayLap) = @y and A.sMaSP = B.sMaSPEND
CREATE PROC spTenSPAsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere A.sMaSP = B.sMaSPEND
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM), tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV) Đâu là thủ tục để cho danh sách tên sản phẩm KHÔNG được bán trong một năm nào đó?
check_box CREATE PROC spTenSP(int @y)AsBEGINSelect sTenSPFrom tblSANPHAMWhere sMaSP not in (Select sMaSP from tblCTHOADON as A, tblHOADON as BWhere year(dNgayLap) = @y and A.sMaHD = B.sMaHD)END
CREATE PROC spTenSP(int @y)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere year(dNgayLap) = @y and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
CREATE PROC spTenSPAsBEGINDeclare int @ySelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as B, tblHOADON as CWhere year(dNgayLap) = @y and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
CREATE PROC spTenSPAsBEGINDeclare int @ySelect sTenSPFrom tblSANPHAMWhere sMaSP not in (Select sMaSP from tblCTHOADON as A, tblHOADON as BWhere year(dNgayLap) = @y and A.sMaHD = B.sMaHD)END
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM), tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV) Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC spTenSP(datetime @d)AsBEGIN Select sTenSP From tblSANPHAM as A, tblCTHOADON as B, tblHOADON as C Where dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHDEND
check_box Cho danh sách tên các sản phẩm đã được khách hàng mua hàng trong một ngày nào đó, với ngày là tham số truyền vào
Cho biết tên sản phẩm đã được khách hàng thực hiện mua hàng
Cho biết tên sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
Cho danh sách thông tin đầy đủ các sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM). Đâu là thủ tục để cho danh sách tên các sản phẩm đã được mua hàng theo mã hóa đơn nào đó?
check_box CREATE PROC spTenSP(nvarchar(9) @mhd)AsBEGINSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere sMaHD = @mhd and A.sMaSP = B.sMaSPEND
CREATE PROC spTenSP(nvarchar(9) @mhd)AsBEGINSelect sTenSPFrom tblCTHOADON, tbSANPHAMWhere sMaHD = @mhdEND
CREATE PROC spTenSP(nvarchar(9) @mhd)AsBEGINSelect sTenSPFrom tblCTHOADONWhere sMaHD = @mhdEND
CREATE PROC spTenSPAsBEGINDeclare nvarchar(9) @mhdSelect sTenSPFrom tblSANPHAM as A, tblCTHOADON as BWhere sMaHD = @mhd and A.sMaSP = B.sMaSPEND
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM). Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC spTenSP(nvarchar @mhd)AsBEGIN Select sTenSP From tblSANPHAM as A, tblCTHOADON as B Where sMaHD = @mhd and A.sMaSP = B.sMaSPEND
check_box Cho biết tên sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
Cho biết tên sản phẩm đã được khách hàng thực hiện mua hàng
Cho danh sách tên các sản phẩm đã được khách hàng mua hàng trong một ngày nào đó
Cho danh sách thông tin đầy đủ các sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
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á trên 50000 và có xuất sứ ở Pháp
check_box Select sTenSPFrom tblSANPHAMWhere fDonGia > 50000 and sXuatSu = N’Pháp’
Select *From tblSANPHAMWhere fDonGia > 50000 and sXuatSu = N’Pháp’
Select sTenSPFrom tblSANPHAMWhere fDonGia > 50000
Select sTenSPFrom tblSANPHAMWhere sXuatSu = N’Pháp’
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
check_box Select sTenSPFrom tblSANPHAMWhere fDongia between 50000 and 100000
Select *From tblSANPHAMWhere fDongia between 50000 and 100000
Select sTenSPFrom tblSANPHAMWhere fDongia>50000
Select sTenSPFrom tblSANPHAMWhere fDongia>50000 and fDongia<100000
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đâu là câu truy vấn để tính tổng số lượng sản phẩm của từng nước theo xuất sứ
check_box Select sXuatSu, sum(iSoluong)From tblSANPHAMGroup by sXuatSu
Select sum(iSoluong)From tblSANPHAM
Select sXuatSu, iSoluongFrom tblSANPHAM
Select sXuatSu, sum(iSoluong)From tblSANPHAM
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đâu là câu truy vấn để tính tổng số tiền của tất cả các sản phẩm đang có
check_box Select sum(iSoluong*fDonGia)From tblSANPHAM
Select sum(iSoluong)From tblSANPHAM
Select sum(iSoluong*fDonGia)From tblSANPHAMGroup by sXuatSu
Select sXuatSu, sum(iSoluong)From tblSANPHAM
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đâu là thủ tục để cho tên các sản phẩm có đơn giá trong một khoảng @a và @b nào đó?
check_box CREATE PROC spTenSP(float @a, float @b)AsBEGINSelect sTenSPFrom tblSANPHAMWhere fDonGia between @a and @bEND
CREATE PROC spTenSP(float @a)AsBEGINSelect sTenSPFrom tblSANPHAMWhere fDonGia >@aEND
CREATE PROC spTenSPAsBEGINDeclare float @a, float @bSelect sTenSPFrom tblSANPHAMWhere fDonGia between @a and @bEND
CREATE PROC spTenSPAsBEGINSelect sTenSPFrom tblSANPHAMWhere fDonGia between 30000 and 100000END
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đâu là thủ tục để cho tên sản phẩm theo một xuất sứ nào đó với xuất sứ là tham số truyền vào
check_box CREATE PROC spTenSP(nvarchar @xs)AsBEGINSelect sTenSPFrom tblSANPHAMWhere sXuatSu = @xsEND
CREATE PROC spTenSP(nvarchar @xs)AsBEGINSelect *From tblSANPHAMWhere sXuatSu = @xsEND
CREATE PROC spTenSPAsBEGINDeclare nvarchar @xsSelect sTenSPFrom tblSANPHAMWhere sXuatSu = @xsEND
CREATE PROC spTenSPAsBEGINSelect sTenSPFrom tblSANPHAMWhere sXuatSu = N’Đức’END
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC spTenSP(float @a, float @b)AsBEGIN Select sTenSP From tblSANPHAM Where fDonGia between @a and @bEND
check_box Cho danh sách tên sản phẩm có đơn giá trong khoảng từ @a đến @b với @a và @b là tham số truyền vào
Cho danh sách các sản phẩm có đơn giá trên @b và dưới @b, với @a và @b là tham số truyền vào
Cho danh sách tên các sản phẩm
Cho danh sách thông tin đầy đủ tất cả các sản phẩm có giá trong khoảng từ @a đến @b
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC spTenSP(float @a, nvarchar @xs)AsBEGIN Select sTenSP From tblSANPHAM Where fDonGia > @a and sXuatSu = @xsEND
check_box 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
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
Cho danh sách tên sản phẩm có xuất sứ @xs nào đó, với @xs là tham số truyền vào
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
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC spTenSP(nvarchar @xs)AsBEGIN Select sTenSP From tblSANPHAM Where sXuatSu = @xsEND
check_box Cho danh sách tên sản phẩm theo một xuất sứ nào đó với xuất sứ là tham số truyền vào
Cho danh sách tên các sản phẩm có xuất xứ nước ngoài
Cho danh sách thông tin đầy đủ các sản phẩm
Cho danh sách thông tin đầy đủ các sản phẩm theo một một xuất sứ nào đó với xuất sứ là tham số truyền vào
Cho các bảng PHONGBAN ( MAPB, TENDV , MaTP, NgayBD, SoNV), NHANVIEN ( MANV, HOTen, NS, GT, HSL, DC, MAPB, NgayVL), DUAN ( MADA, TENDA, DIADIEM, NgBD, MAPB)Viết trigger khi thay đổi mã cho một phòng thì các nhân viên và dự án thuộc phòng ban đó cũng phải thay đổi theo
CREATE TRIGGER UpdateMaPhongON PHONGBANFOR UPDATEASBEGINIF UPDATE( MaPhong )BEGINDECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)SELECT @MaPhgCu = MaPB FROM DELETEDSELECT @MaPhgMoi = MaPB FROM INSERTEDIf ( EXISTS (select MaPB from DUAN Where MaPB = @MaPhgCu) )UPDATE DUAN set MaPB = @MaPhgMoiWHERE MaPB = @MaPhgCuENDEND
CREATE TRIGGER UpdateMaPhongON PHONGBANFOR UPDATEASBEGINIF UPDATE( MaPhong )BEGINDECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)SELECT @MaPhgCu = MaPB FROM DELETEDSELECT @MaPhgMoi = MaPB FROM INSERTEDIf ( EXISTS (select MaPB from NHANVIEN Where MaPB= @MaPhgCu) )UPDATE NHANVIEN SET MaPB = @MaPhgMoiWHERE MaPB = @MaPhgCuENDEND
CREATE TRIGGER UpdateMaPhongON PHONGBANFOR UPDATEASBEGINIF UPDATE( MaPhong )BEGINDECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)SELECT @MaPhgCu = MaPB FROM DELETEDSELECT @MaPhgMoi = MaPB FROM INSERTEDIf ( EXISTS (select MaPB from NHANVIEN Where MaPB= @MaPhgCu) )UPDATE NHANVIEN SET MaPB = @MaPhgMoiWHERE MaPB = @MaPhgCuIf ( EXISTS (select MaPB from DUAN Where MaPB = @MaPhgCu) )UPDATE DUAN set MaPB = @MaPhgMoiWHERE MaPB = @MaPhgCuENDEND
Tất cả các phương án đều đúng
Cho các bảngLOP( malop, TenLop, NienKhoa, SiSo)SINHVIEN ( MaSV, Hoten, NS, GT, maLop)Viết trigger khi sưar một lớp nào đó thì các sinh viên thuộc lớp đó cũng sửa theo.
CREATE TRIGGER UpdateMaLopON LOPFOR UPDATEASBEGINIF UPDATE( MaLop)BEGINDECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9)SELECT @MaLopCu = MaLop FROM DELETEDSELECT @MaLopMoi = MaLop FROM INSERTEDENDEND
CREATE TRIGGER UpdateMaLopON LOPFOR UPDATEASBEGINIF UPDATE( MaLop)BEGINDECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9)SELECT @MaLopCu = MaLop FROM DELETEDSELECT @MaLopMoi = MaLop FROM INSERTEDIf ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) )UPDATE SINHVIEN SET MaLop = @MaLopMoiWHERE MaLop = @MaLopCuENDEND
CREATE TRIGGER UpdateMaLopON LOPFOR UPDATEASBEGINIF UPDATE( MaLop)BEGINSELECT @MaLopCu = MaLop FROM DELETEDSELECT @MaLopMoi = MaLop FROM INSERTEDIf ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) )UPDATE SINHVIEN SET MaLop = @MaLopMoiWHERE MaLop = @MaLopCuENDEND
CREATE TRIGGER UpdateMaLopON SINHVIENFOR UPDATEASBEGINIF UPDATE( MaLop)BEGINDECLARE @MaLopCu nvarchar(9), @MaLopMoi nvarchar(9)SELECT @MaLopCu = MaLop FROM DELETEDSELECT @MaLopMoi = MaLop FROM INSERTEDIf ( EXISTS (select MaLop from SINHVIEN Where MaLop= @MaLopCu) )UPDATE SINHVIEN SET MaLop = @MaLopMoiWHERE MaLop = @MaLopCuENDEND
Cho CSDL “QLGV” với bảng tblNV phân mảnh dọc theo nguyên tắc sau:-Server1 gồm các thông tin: MaNV, HoTen, GioiTinh-Server2 gồm các thông tin: MaNV, DiaChi, DienThoai, EmailCâu lệnh còn thiếu để tạo view đầy đủ danh sách các GV lấy từ cả 2 server (view được viết trên Server2)Create View DSNVasbegin Select tblNV.MaNV, Hoten, GioiTinh, DiaChi, DienThoai, Email From tblNV, Server1.QLGV.dbo.tblNVWhere …..end
MaNV = tblNV.MaNV
tblNV.MaNV = Server1. tblNV.MaNV
tblNV.MaNV = Server1.QLGV.dbo.tblNV.MaNV
tblNV.MaNV = QLGV.dbo.tblNV.MaNV
Cho CSDL “QLGV” với bảng tblNV phân mảnh dọc theo nguyên tắc sau:-Server1 gồm các thông tin: MaNV, HoTen, GioiTinh-Server2 gồm các thông tin: MaNV, DiaChi, DienThoai, EmailĐoạn code thiếu để chèn thêm một nhân viên mới vào bảng (thủ tục được viết trên Server2)Create Proc spInsertNhanVien (@ma varchar(10), @HTnVarchar(20), @GT as nvarchar(3), @DC as nvarchar(20), @DT as nvarchar(20), @Email as nvarchar(20))@diachi nvarchar(30), @dienthoai varchar(11))asBegin Insert Into tblNV Values(@ma, @DC, @DT, @Email)…..print N'Thêm thành công'End
Insert Into Server1.QLGV.dbo.tblNV Values(@ma,@DC, @DT, @Email)
Insert Into Server1.QLGV.dbo.tblNV Values(@ma,@HT, @GT)
Insert Into Server2.QLGV.dbo.tblNV Values(@ma,@HT, @GT)
Insert Into tblNV Values(@ma,@HT, @GT)
Cho CSDL “QLNV” với bảng tblNhanVien(MaNV, TenNV, GioiTinh, DiaChi) phân mảnh ngang theo nguyên tắc sau:-Server1 gồm các nhân viên Nữ-Server2 gồm các nhân viên NamCâu lệnh để có được bảng đầy đủ danh sách các nhân viên (cả nam và nữ) từ Server 2 là gì?
Select MaNV, TenNV, GioiTinh, DiaChifromServer1.QLNV.dbo.tblNhanvienUnionSelect MaNV, TenNV, GioiTinh, DiaChiFrom tblNhanvien
Select MaNV, TenNV, GioiTinh, DiaChifromServer1.tblNhanvien
Select MaNV, TenNV, GioiTinh, DiaChifromServer1.tblNhanvienUnionSelect MaNV, TenNV, GioiTinh, DiaChiFrom tblNhanvien
Select MaNV, TenNV, GioiTinh, DiaChifromtblNhanvienUnionSelect MaNV, TenNV, GioiTinh, DiaChiFrom Server2.QLNV.dbo.tblNhanvien
Cho CSDL “QLNV” với bảng tblNhanVien(MaNV, TenNV, GioiTinh, DiaChi) phân mảnh ngang theo nguyên tắc sau:-Server1 gồm các nhân viên Nữ-Server2 gồm các nhân viên NamĐoạn code để chèn thêm một nhân viên mới vào bảng (thủ tục được viết trên Server2)
Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30))asBeginIf @gioitinh = ‘Nam’Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi)ElseInsert Into Server1.QLNNV.dbo.tblNhanvienValues(@ma,@ten,@gioitinh,@diachi)print N'Thêm thành công'End
Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30))asBeginIf @gioitinh = ‘Nam’Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi)ElseInsert Into Server1.tblNhanvienValues(@ma,@ten,@gioitinh,@diachi)print N'Thêm thành công'End
Create Proc spInsertNhanvien (@ma varchar(10), @ten nVarchar(20), @gioitinh nvarchar(3), @diachi varchar(30))asBeginIf @gioitinh = ‘Nam’Insert Into tblNhanvien Values(@ma,@ten,@gioitinh,@diachi)ElseInsert Into tblNhanvienValues(@ma,@ten,@gioitinh,@diachi)print N'Thêm thành công'End
Không có đáp án đúng
Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc sau:-Server1 gồm các thông tin: MaPhong, TenPhong-Server2 gồm các thông tin: MaPhong, DiaDiem, DienThoaiCâu lệnh để có được bảng đầy đủ các thông tin: MaPhong, TenPhong, DiaDiem, DienThoai từ Server 2 là gì?
Select a.MaPhong, TenPhong, DiaDiem, DienThoaiFrom QLNV.dbo.tblPhongban a, tblPhongBan bWhere a.MaPhong = b.MaPhong
Select a.MaPhong, TenPhong, DiaDiem, DienThoaiFrom Server1.QLNV.dbo.tblPhongban a, tblPhongBan b
Select a.MaPhong, TenPhong, DiaDiem, DienThoaiFrom Server1.QLNV.dbo.tblPhongban a, tblPhongBan bWhere a.MaPhong = b.MaPhong
Select MaPhong, TenPhong, DiaDiem, DienThoaiFrom Server1.QLNV.dbo.tblPhongban a, tblPhongBan bWhere a.MaPhong = b.MaPhong
Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc sau:-Server1 gồm các thông tin: MaPhong, TenPhong-Server2 gồm các thông tin: MaPhong, DiaDiem, DienThoaiĐoạn code để chèn thêm một phòng ban mới vào bảng (thủ tục được viết trên Server2)
check_box Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))asBeginInsert Into tblPhongBan Values(@ma, @diachi, @đienthoai)Insert Into Server1.QLNV.dbo.tblPhongBan Values(@ma,@ten)print N'Thêm thành công'End
Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))asBeginInsert Into Server1.QLNV.dbo.tblPhongBan Values(@ma, @diachi, @đienthoai)Insert Into tblPhongBan Values(@ma,@ten)print N'Thêm thành công'End
Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))asBeginInsert Into tblPhongBan Values(@ma, @ten, @diachi, @đienthoai)print N'Thêm thành công'End
Không có đáp án nào đúng
Cho CSDL “QuanLyBH” được cài đặt tại ServerAo và ServerThat như sau:*Tại ServerAo có chứa bảng tblNV(MaNV, HoTen, NgaySinh, TrinhDo, ChuyenNganh, Nam) *Tại ServerThat có bảng tblNV(MaNV, HoTen, NgaySinh, TrinhDo, ChuyenNganh, Nam) Tại ServerThat câu lệnh truy vấn để cho danh sách tất cả thông tin gồm (MaNV, HoTen, TrinhDo) được viết như thế nào?
check_box Select MaNV, HoTen, TrinhDoFrom tblNVUnionSelect MaNV, HoTen, TrinhDoFrom ServerAo.QuanLyBH.dbo.tblNV
Seclect *From tblNVUnionSeclect *From ServerAo.QuanLyBH.dbo.tblNV
Seclect *From tblNVUnionSeclect *From ServerAo.tblNV
Select MaNV, HoTen, TrinhDoFrom tblNVUnionSelect MaNV, HoTen, TrinhDoFrom ServerAo.tblNV
Cho CSDL “QuanLyBH” được cài đặt tại ServerAo và ServerThat như sau:*Tại ServerAo có chứa bảng tblNV2(MaNV, TrinhDo, ChuyenNganh, Nam) *Tại ServerThat có bảng tblNV(MaNV, HoTen, NgaySinh)Tại ServerThat câu lệnh truy vấn để cho danh sách đầy đủ thông tin gồm MaNV, HoTen, TrinhDo được viết như thế nào
check_box Seclect tblNV.MaNV, HoTen, TrinhDoFrom tblNV, ServerAo.QuanLyBH.dbo.tblNV2Where tblNV.MaNV = ServerAo.QuanLyBH.dbo.tblNV2.MaNV
Seclect MaNV, HoTen, TrinhDoFrom tblNV, ServerAo.QuanLyBH.dbo.tblNV2Where tblNV.MaNV = ServerAo.QuanLyBH.dbo.tblNV2.MaNV
Seclect tblNV.MaNV, HoTen, TrinhDoFrom tblNV, QuanLyBH.tblNV2Where tblNV.MaNV = QuanLyBH.tblNV2.MaNV
Seclect tblNV.MaNV, HoTen, TrinhDoFrom tblNV, tblNV2Where tblNV.MaNV = tblNV2.MaNV
Cho CSDL “QuanLyKH” cài đặt trên máy “Server2” có chứa bảng “KhachHang”. Tại máy “Server1” muốn lấy các thông tin trong bảng “KhachHang” thì câu lệnh thực hiện là:
SELECT *FROM Server2. KhachHang
SELECT *FROM Server2.QuanlyKH.dbo.KhachHang
SELECT *FROM KhachHang
SELECT *FROM QuanlyKH.dbo.KhachHang
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 đầu
CREATE TRIGGER CHECK_NGAY_THAM_GIA_DAON PHANCONGAFTER UPDATE, INSERTASIF UPDATE(NgayThamGia) --Kiểm tra việc cập nhật trên cộtBEGINdeclare @NgTG datetime, @NgBD datetimeSET @NgTG = (SELECT NgLamDA FROM INSERTED)SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTEDENDEND
CREATE TRIGGER CHECK_NGAY_THAM_GIA_DAON PHANCONGAFTER UPDATE, INSERTASIF UPDATE(NgayThamGia) --Kiểm tra việc cập nhật trên cộtBEGINdeclare @NgTG datetime, @NgBD datetimeSET @NgTG = (SELECT NgLamDA FROM INSERTED)SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTEDWHERE DEAN.MaDA = INSERTED.MaDA)IF ( @NgTG < @NgBD )BEGINraiserror(N'Ngày Tham gia phải sau ngày Bắt đầu',16,1)ENDEND
CREATE TRIGGER CHECK_NGAY_THAM_GIA_DAON PHANCONGAFTER UPDATE, INSERTASIF UPDATE(NgayThamGia) --Kiểm tra việc cập nhật trên cộtBEGINSET @NgTG = (SELECT NgLamDA FROM INSERTED)SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTEDWHERE DEAN.MaDA = INSERTED.MaDA)IF ( @NgTG < @NgBD )BEGINraiserror(N'Ngày Tham gia phải sau ngày Bắt đầu',16,1)ENDEND
Không có phương án nào đúng
Cho CSDL gồm các bảng:tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongiaban, sNhaSX, TSLuongBan) tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)tblCTHOADON (sMaHD, sMaSP, iSLM) Để cho phép mỗi khi Khách hàng mua hàng với số lượng mua iSLM nào đó thì tổng số lượng hàng đã bán TSLuongBan của sản phẩm được cập nhật tự động thì tạo đối tượng gì trong CSDL tương ứng?
check_box Trigger
Proc
Table
View
Cho CSDL gồm các bảng:tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongiaban, sNhaSX, TSLuongBan) tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)tblCTHOADON (sMaHD, sMaSP, iSLM) Đoạn mã xây dựng Trigger để khi cập nhật mã Sản phẩm trong bảng SẢN PHẨM thì các mã của sản phẩm đó tương ứng mà khách đã mua được cập nhật theo cho phù hợp?
check_box Create trigger capnhat_MaSPON tblSanPhamAfter UpdateBeginDeclare @maSPM nvarchar(10), @maSPC nvarchar(10)Select @maSPM From insertedSelect @maSPC From deletedUpdate tblCTHOADONSet sMaSP = @maSPMWhere sMaSP = @maSPCEnd
Create trigger capnhat_MaSPON tblSanPhamAfter DeleteBeginDeclare @maSPM nvarchar(10), @maSPC nvarchar(10)Select @maSPM From insertedSelect @maSPC From deletedUpdate tblCTHOADONSet sMaSP = @maSPMEnd
Create trigger capnhat_MaSPON tblSanPhamAfter InsertBeginSelect @maSPM From insertedSelect @maSPC From deletedUpdate tblCTHOADONSet sMaSP = @maSPMWhere sMaSP = @maSPCEnd
Create trigger capnhat_MaSPON tblSanPhamAfter UpdateBeginSelect @maSPM From insertedSelect @maSPC From deletedUpdate tblCTHOADONSet sMaSP = @maSPMWhere sMaSP = @maSPCEnd
Cho CSDL quản lý bán hàng gồm hai bảng:tblKHACHHANG(sSdtKH, sTenKH, SoHoaDon) tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)Đoạ Trigger sau đây thực hiện gì?CREATE TRIGGER ThemHoaDonON tblHOADONInstead of InsertBegin Declare @soDT nvarchar(10) Select @soDT = sSDTKH From tbl inserted Update tblKHACHHANG Set SoLanMua = SoLanMua + 1end
check_box 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 tương ứng được lập cho hóa đơn đó được tăng lên tương ứng một đơn vị
Mỗi khi chỉnh sửa Hóa đơn thì số hóa đơn của khách hàng được tăng lên tương ứng
Mỗi lần xoá một hóa đơn thì số hóa đơn của khác hàng được giảm đi một đơn vị tương ứng
Số hóa đơn trogn bảng khách hàng tự động tính để xác định được số lần mua tương ứng
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ị
check_box CREATE TRIGGER ThemHoaDonON tblHOADONInstead of InsertBeginDeclare @soDT nvarchar(10)Select @soDT = sSDTKHFrom insertedUpdate tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH = @soDTend
CREATE TRIGGER ThemHoaDonON tblHOADONInstead of InsertBeginDeclare @soDT nvarchar(10)Select @soDT = sSDTKHFrom tblHOADONUpdate tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH = @soDTend
CREATE TRIGGER ThemHoaDonON tblHOADONInstead of InsertBeginDeclare @soDT nvarchar(10)Update tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH = @soDTend
CREATE TRIGGER ThemHoaDonON tblHOADONInstead of updateBeginDeclare @soDT nvarchar(10)Select @soDT = sSDTKHFrom insertedUpdate tblKHACHHANGSet SoLanMua = SoLanMua + 1Where sSdtKH = @soDTend
Cho CSDL quản lý bán sản phẩm gồm các bảng: tblNHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongiaban, sNhaSX) tblKHACHHANG(sSdtKH, sTenKH) tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)tblCTHOADON (sMaHD, sMaSP, iSLM)Đâu là thủ tục để cho danh sách tên các Nhân viên đã KHÔNG tham gia bán hàng trong một ngày nào đó
check_box CREATE PROC spTenNV(datetime @d)AsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV not in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNV(datetime @d)AsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNVAsBEGINDeclare datetime @dSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNVAsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADON)END
Cho CSDL quản lý bán sản phẩm gồm các bảng: tblNHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongiaban, sNhaSX) tblKHACHHANG(sSdtKH, sTenKH) tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)tblCTHOADON (sMaHD, sMaSP, iSLM)Đâu là thủ tục để cho danh sách tên các Nhân viên đã tham gia bán hàng trong một ngày nào đó
check_box CREATE PROC spTenNV(datetime @d)AsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNV(datetime @d)AsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV not in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNVAsBEGINDeclare datetime @dSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADONWhere dNgayLap = @d)END
CREATE PROC spTenNVAsBEGINSelect sHotenFrom tblNHANVIENWhere sMaNV in (Select sMaNV from tblHOADON)END
Cho CSDL Quản lý nhân sự gồm các bảng:NHANVIEN(MaNV, HoTen, HSL, PC, GioiTinh, MaPB)PHONGBAN(MaPB, TenPB, DiaDiem)Để tài khoản db_user1 được quyền lựa chọn - cập nhật trên thuộc tính HoTen, Hệ số lương của bảng NHANVIEN và trên thuộc tính tên phòng ban của bảng PHONGBAN thì câu lệnh phân quyền đầy đủ là gì?
REVOKE SELECT, UPDATEON NHANVIEN( HoTen, HSL )FROM db_user1
REVOKE SELECT, UPDATEON NHANVIEN( HoTen, HSL )FROM db_user1REVOKE SELECT, UPDATEON PHONGBAN( TenPB )FROM db_user1
REVOKE SELECT, UPDATEON NHANVIENFROM db_user1REVOKE SELECT, UPDATEON PHONGBANFROM db_user1
REVOKE SELECT, UPDATEON PHONGBANFROM db_user1
Cho CSDL Quản lý nhân sự gồm các bảng:NHANVIEN(MaNV, HoTen, HSL, PC, GioiTinh, MaPB)PHONGBAN(MaPB, TenPB, DiaDiem)Tài khoản “db_user1” được thực hiện câu lệnh nào sau khi đoạn mã sau được thực hiện:REVOKE SELECT, UPDATEON NHANVIEN( HoTen, HSL )FROM db_user1REVOKE SELECT, UPDATEON PHONGBAN( TenPB )FROM db_user1
Delete from NHANVIENWhere GioiTinh = N’Giới tính”
Select HoTen, HSL, TenPB, GioiTinhFrom NHANVIEN, PHONGBANWhere NHANVIEN.MaPB = PHONGBAN.MaPB
Select HoTen, HSL, TenPBFrom NHANVIEN, PHONGBANWhere NHANVIEN.MaPB = PHONGBAN.MaPBUpdate NHANVIENSet HSL = HSL + 1Where GioiTinh = N’Nữ”
Select HoTen, HSL, TenPBFrom NHANVIEN, PHONGBANWhere NHANVIEN.MaPB = PHONGBAN.MaPBUpdate NHANVIENSet PC = PC + 1Where GioiTinh = N’Nữ”
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: Select sHoten From tblNHANVIEN Where fHSL>3.33
check_box 


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:Select sHoten From tblNHANVIENWhere fHSL>3.33
check_box 


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:Select sHoten From tblNHANVIENWhere fHSL>3.33
check_box 


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:Select sHoten From tblNHANVIENWhere fHSL<3.33
check_box 


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:Select sHoten From tblNHANVIENWhere fHSL<3.33
check_box 


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:Select sHoten From tblNHANVIENWhere sGioitinh = N’Nam’
check_box 


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:Select sHoten From tblNHANVIENWhere sGioitinh = N’Nữ’
check_box 


Cho CSDL quản lý sản phẩm với bảng tblSANPHAM 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:Select sTenSP From tblSANPHAMWhere fDonGia > 50000 and sXuatSu = N’Pháp’
check_box 


Cho CSDL quản lý sản phẩm với bảng tblSANPHAM 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:Select sTenSP From tblSANPHAMWhere fDonGia between 50,000 and 70,000
check_box 


Cho CSDL quản lý sản phẩm với hai bảng blCTHOADON (sMaHD, sMaSP, iSLM) và tblSANPHAM(sMaSP, sTenSP, iSLBan, fDongia, sXuatSu).Đâu là câu lệnh truy vấn để tính tổng số tiền hàng đã bán của từng hóa đơn
check_box Select sMaHD, sum(iSLM*fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSPGroup by sMaHD
Select sMaHD, sum(iSLM *fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSP
Select sMaHD, sum(iSLM *fDonGia)From tblCTHOADONGroup by sMaHD
Select sum(iSLM*fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSP
Cho CSDL quản lý sản phẩm với hai bảng blCTHOADON (sMaHD, sMaSP, iSLM) và tblSANPHAM(sMaSP, sTenSP, iSLBan, fDongia, sXuatSu).Đâu là câu lệnh truy vấn để tính tổng số tiền hàng đã bán của từng sản phẩm theo tên Sản phẩm.
check_box Select sTenSP, sum(iSLM *fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSPGroup by sTenSP
Select sum(iSLM *fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSPGroup by sMaHD
Select sTenSP, sum(iSLM *fDonGia)From tblCTHOADON, tblSANPHAMWhere tblCTHOADON.sMaSP=tblSANPHAM.sMaSP
Select sum(iSLM *fDonGia)From tblCTHOADON, tblSANPHAMGroup by sTenSP
Cho đoạn lệnh: declare @IX int =100 while (@IX <=110) begin print @IX if @IX=105 break set @IX = @IX +1 ENDMấy dòng dữ liệu được in ra
0
1
5
6
Cho đoạn lệnh:DECLARE@V1 intBEGINSELECT COUNT(*) FROM nhanvienENDBEGINset @V1= @@ROWCountENDGiá trị @V1 sẽ nhận là?
0
1
NULL
Tùy thuộc vào số lượng bản ghi của bảng Nhanvien
Cho đoạn mã sau. DECLARE@V_BONUS INT,BEGINSELECT @V_SALARY = luong FROM nhanvienWHERE manv = 1set @V_BONUS = @V_SALARY * 0.1;ENDselect @V_BONUSNguyên nhân đoạn mã gây ra lỗi:
Biến V_BONUS chưa khởi tạo.
Câu lệnh SELECT có bí danh
Chưa khai báo biến @V_SALARY
Thiếu phần EXCEPTION
Cho đoạn mã tạo trigger:CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF INSERTAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from INSERTEDif ( @gt not in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)ENDCho biết ý nghĩa của đoạn mã
Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN
Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN chỉ nhập từ Nam hoặc Nữ, nếu nhập sai đươc ra thông báo “Bạn nhập sai Giới tính”
Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN không được nhập giá trị “Nam” hoặc”Nữ”
Tất cả các phương án đều đúng
Cho đoạn mã tạo trigger:CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF INSERTAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from INSERTEDif ( @gt not in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)ENDCho biết ý nghĩa của dòng code “select @gt = GT from INSERTED”
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 khi thêm với bảng NHÂN VIÊN
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 khi xóa với bảng NHÂN VIÊN
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
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
Cho hai bảngtblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)tblCTHOADON (sMaHD, sMaSP, iSL, fDG) Để cho phép mỗi khi thêm một dòng mới vào bảng tblCTHOADON thì tổng tiền của HOADON được cập nhật theo thì viết trigger với lựa chọn biến cố nào?
check_box Insert
Delete
Select
Update
Cho hai bảngtblHOADON(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
check_box CREATE TRIGGER themCTHDON tblCTHOADONInstead of InsertAsBeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL, @dg = fDG, @soHD = sMaHDFrom instertedUpdate tblHOADONSet TongTien = TongTien + @sl * @dgWhere sMaHD = @soHDEnd
CREATE TRIGGER themCTHDON tblCTHOADONInstead of InsertAsBeginUpdate tblHOADONSet TongTien = TongTien + iSL * fDGEnd
CREATE TRIGGER themCTHDON tblCTHOADONInstead of InsertAsBeginUpdate tblHOADONSet TongTien = TongTien + iSL * fDGWhere sMaHD = @soHDEnd
CREATE TRIGGER themCTHDON tblHOADONInstead of InsertAsBeginDeclare int @sl, float @dg, nvarchar(9) @soHDSelect @sl = iSL, @dg = fDG, @soHD = sMaHDFrom instertedUpdate tblHOADONSet TongTien = TongTien + @sl * @dgWhere sMaHD = @soHDEnd
Cho hai bảngtblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)tblCTHOADON (sMaHD, sMaSP, iSL, fDG) Đoạn trigger sau làm nhiệm vụ gì?CREATE TRIGGER themCTHDON tblCTHOADONInstead of InsertAsBegin Declare int @sl, float @dg, nvarchar @soHD Select @sl = iSL, @dg = fDG, @soHD = sMaHD From insterted Update tblHOADON Set TongTien = TongTien + @sl * @dg Where sMaHD = @soHDEnd
check_box Mỗi khi thêm một dòng mới vào bảng tblCTHOADON thì tổng tiền của HOADON với mã hóa đơn tương ứng được tăng theo tuỳ theo số lượng và đơn giá được nhập vào
Mỗi khi lấy thông tin từ bảng tblCTHOADON thì tự động tính toán Tổng Tiền cho số hóa đơn tuonwg ứng
Mỗi khi sửa thông tin của một dòng trong tblCTHOADON thì tổng tiền tương ứng của hóa đơn đó được chỉnh sửa tương ứng
Mỗi khi xoá một dòng trong bảng tblCTHOADON thì tổng tiền của hóa đơn được giảm tương ứng cho hóa đơn với mã được xoá
Cho hai bảngtblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)tblCTHOADON (sMaHD, sMaSP, iSLM) Để cho phép mỗi khi xoá một dòng mới trong bảng tblCTHOADON thì tổng tiền của HOADON được cập nhật theo thì viết trigger với lựa chọn biến cố nào
check_box Delete
Insert
Select
Update
Cho máy thật có địa chỉ là 192.168.10.25. Để máy ảo kết nối phân tán được đến máy chủ thì địa chỉ máy áo phải là địa chỉ nào sau đây?
check_box 192.168.10.40
192.168.11.25
192.169.10.25
195.168.10.25
Cho T-SQL block sau, dòng nào gây ra lỗi?1. DECLARE2. @V_DEPTNO INT3. BEGIN4. SET @V_DEPTNO = 205. SELECT ENAME, SALARYFROM EMP WHERE DEPTNO = @V_DEPTNO6. END
Dòng 2
Dòng 4
Dòng 5
Không có dòng nào gây lỗi.
Cho T-SQL block sau:DECLARE @X INT = 100WHILE (@x<= 108 )IF @x = 102break ELSEBEGIN Insert into NHANVIEN(manv) values (@X) SET @X=@X+1ENDBao nhiêu dòng được thêm vào bảng Nhanvien khi thực thi block?
0
2
7
9
Có mấy kiểu xác thực trong SQL Server
2
3
4
5
Có mấy kỹ thuật sao lưu?
2
3
4
5
Có mấy loại trigger?
2
3
4
5
Có mấy phương pháp phân tán CSDL?
2
3
4
5
Có mấy phương pháp thực hiện phân mảnh dữ liệu
2
3
4
5
Cơ sở dữ liệu hệ thống Msdb dùng để?
Hoạch định các báo động và công việc cần làm (schedule alerts and jobs)
Lưu trữ các system objects
Lưu trữ các table và stored proceduce trong quá trình làm việc
Lưu trữ các thông tin cấp hệ thống
Có thể đặt mấy cột trong bảng làm khóa chính?
Chỉ trên cột ID
Trên 1 cột bất kỳ
Trên 2 cột bất kỳ
Trên nhiều cột
Cú pháp để truy xuất đến một bảng của CSDL khác năm khác Server là:
check_box [ServerName][.DatabaseName][.owner][.tableName]
[DatabaseName][.owner][.tableName] [.ServerName]
[ServerName][.owner][.tableName]
[ServerName][.tableName]
Cú pháp để truy xuất đến một bảng của CSDL khác trong cùng Server là:
[database][.owner][.tableName]
[database][.tableName]
[tableName][.database]
[tableName][.database][.owner]
Đặc điểm của trigger là gì?
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
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
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
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
Để báo cáo số lượng bán được theo từng năm của 1 đầu sách (title) nào đó, người ta đã tạo 1 thủ tục với nội dung như sau:CREATE PROCEDURE get_sales_for_title@title varchar(80),@ytd_sales int OUTPUTASSELECT @ytd_sales = ytd_sales FROM titles WHERE title = @titleIF @@ROWCOUNT = 0RETURN(-1)ELSERETURN(0)Biến hệ thống @@ROWCOUNT luôn trả về số bản ghi của lệnh SQL vừa được thực hiện trước đó. Bạn cần tạo 1 script để gọi thủ tục trên. Nếu thủ tục chạy thành công, nó sẽ báo cáo số luợng bán được, ngược lại thì hiển thị thông báo "No Sales Found". Script này được tạo như thế nào?
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
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
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
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
Để cấp quyền cho người dùng “Test” được quyền xem dữ liệu của Bảng “tblNhanVien” thì câu lệnh được sử dụng là gì?
check_box GRANT
DENY
INVOKE
SELECT
Để cấp quyền cho người dùng “Test” được quyền xem dữ liệu của Bảng “tblNhanVien” thì câu lệnh là gì?
check_box GRANT SelectON tblNhanVienTO Test
GRANT AllON tblNhanVienTO Test
GRANT ViewON tblNhanVienTO Test
GRANT ViewTO Test
Để kết nối CSDL phân tán trong SQL Server, số cổng cần thiết cấu hình giữa hai máy là bao nhiều?
check_box 1433
1422
1444
8080
Để khai thác đến một bảng của CSDL khác trong cùng Server cần phải xác định thông tin gì?
Tất cả các thông tin
Tên bảng
Tên CSDL
Tên người dùng
Để liên kết đến server khác có những cách nào?
Sử dụng câu lệnh truy vấn
Sử dụng câu lệnh truy vấn Thông qua của sổ Management Studio
Tất cả các phương pháp đều đúng
Để tạo trigger phải xấc định những nội dung gì
Lệnh nào sẽ kích hoạt trigger thực hiện
Tất cả các nội dung được liệt kê
Tên và bảng chịu tác động
Trigger sẽ làm những thao tác gì khi được kích hoạt
Để thu hồi quyền được sửa của tài khoản người dùng Test với bảng tblNhanVien trên thuộc tính “QueQuan” và “HoTen” đã được cấp trước đó thì câu lệnh là gì?
check_box REVOKE UPDATEON tblNHANVIEN(HoTen, QueQuan)TO test
GRANT UPDATEON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
REVOKE ALLON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
REVOKE SELECT, UPDATEON tblNHANVIEN(HoTen, QueQuan)TO nguoidung1
Để xoá tài khoản đăng nhập “Test” đã có trong hệ thống thì sử dụng câu lệnh là gì?
check_box DROP LOGIN Test
DELETE LOGIN Test
DELETE Test
DROP ACCOUNT Test
Declare @a int = 5, @b int = null, @c int = 10 Begin if @a > @b AND @a < @c set @a=@c*@aselect @a End Giá trị của a sẽ là?
5
50
Null
Tất cả các đáp án đều sai
Dịch vụ chuyển đổi dữ liệu DTS của SQL Server thực hiện chức năng gì?
Chuyển dữ liệu giữa các Server
Nhân bản dữ liệu
Tìm kiếm
Tra cứu dữ liệu
Điều kiện của của phân mảnh phải thoản mãn là gì khi thực hiện phân mảnh ngang
Cả hai điều kiện đều đúng
Cả hai điều kiện đều sai
Các phân mảnh không tách rời, phải có cùng thuộc tính khóa chính
Các phân mảnh phải đảm bảo tách rời Ri ∩ Rj = ϕ
Độ lớn của một cột kiểu CHAR?
1 byte
2 bytes
4 bytes
8 bytes
Đoạn mã tạo trigger để cho phép chỉ nhập giá trị Nam hoặc Nữ khi thêm vào bảng NHANVIEN là?
CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF DELETEAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from INSERTEDif ( @gt not in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)END
CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF INSERTAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from INSERTEDif ( @gt not in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)END
CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF INSERTAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from INSERTEDif ( @gt in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)END
CREATE TRIGGER NV_GTON NHANVIENINSTEAD OF INSERTAsBEGINdeclare @Gt as nvarchar(3)select @gt = GT from NHANVIENif ( @gt not in ('Nam', N'Nữ') )Raiserror('Ban nhap sai Gioi tinh',16,10)END
Giả sử có 1 CSDL chứa thông tin của các công ty cùng với mã vùng (zip code). Hiện tại CSDL chỉ mới chứa dữ liệu của các công ty với 5 mã vùng khác nhau. Số công ty trong mỗi mã vùng có thể từ 10 đến 5000. Trong tương lai sẽ có thêm nhiều công ty với các mã vùng mới khá Bạn cần tạo 1 truy vấn để xem thông tin từ CSDL. Việc thực thi truy vấn không được ảnh hưởng đến số công ty được trả về. Truy vấn được tạo ra cần thông nhất và làm tối thiểu việc phải bảo trì sửa đổi truy vấn này trong tương lai. Bạn nên làm gi?
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
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
Tạo 1 thủ tục cho mỗi mã vùng
Tạo 1 view cho mỗi mã vùng
Giả sử, CSDL được lập lịch Full Database Backup vào ngày chủ nhật, Differential Database Backup vào ngày thứ ba và thứ năm, còn Log Database Backup cứ mỗi tiếng một lần vào các ngày từ thứ 2 đến thứ 6 trong tuần, Trong trường hợp, ngày thứ sáu có sự cố với CSDL data file bị hỏng, để phục hồi dữ liệu và CSDL hoạt động bình thường, thứ tự các bước phục hồi thực hiện như thế nào?
check_box + Khôi phục Full Database của ngày chủ nhật.+ Phục hồi Differential Database của ngày thứ năm.+ Khôi phục Transaction log backup ngày thứ năm.
+ Khôi phục Full Database của ngày chủ nhật.+ Khôi phục Transaction log backup ngày thứ năm.+ Phục hồi Differential Database của ngày thứ năm.
+ Khôi phục Transaction log backup ngày thứ năm.+ Phục hồi Differential Database của ngày thứ năm.+ Khôi phục Full Database của ngày chủ nhật.
+ Phục hồi Differential Database của ngày thứ năm.+ Khôi phục Transaction log backup ngày thứ năm.+ Khôi phục Full Database của ngày chủ nhật.
Gợi ý nào được đề xuất khi thực hiện sao lưu dữ liệu?
Tất cả các phương án đều đúng
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)
Thực hiện nhiều sao lưu Transaction trong ngày
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)
Hàm nào trong SQL Server trả về ngày hiện tại của hệ thống?
currentdate()
Date()
Getdate()
now()
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
Không cho phép 2 vòng lăp while lồng nhau
Không có kiểu dữ liệu smallint
Tên thủ tục prc1 sai
Vòng lặp không kết thúc
Hệ quản trị cơ sở dữ liệu SQL Server 2008 không hỗ trợ tính năng nào sau đây?
Định nghĩa dữ liệu
Kết nối dữ liệu với các dịch vụ điện toán đám mây
Khai phá dữ liệu
Khôi phục dữ liệu
Hỗ trợ kiến trúc Client/Server (Supports Client/Server model) là gì?
Server có nhiệm vụ xử lý các yêu cầu và trả lại kết quả cho Client.
Tất cả các phương án đều đúng
Truy cập dữ liệu được lưu trữ trên Server
Ứng dụng có thể chạy trên Client
Jack cần chèn 1 điểm dừng (save point) có tên là ’Returnback’ vào transaction của anh t Nên dùng lệnh nào sau đây:
INSERT SAVEPOINT Returnback
INSERT TRANSACTION Returnback
SAVE SAVEPOINT Returnback
SAVE TRANSACTION Returnback
Kết quả của câu truy vấn sau là gì?SELECT (25%5) ,(8%2.5)
0 và 0.5
0 và 2
5 và 4.5
Câu lệnh gây ra lỗi.
Kết quả của đoạn T-SQL sau sẽ như thế nào? DECLARE@X VARCHAR(10) = 'TITL',@Y VARCHAR(10) = 'TITLE'BEGINIF @X >= @Y print('X is greater')IF @Y >= @X print('Y is greater') END
“X is greater”
“Y is greater”
Cả “X is greater” và “Y is greater”
Không in ra gì cả
Kết quả của POWER(6, 2) là bao nhiêu?
12
3
36
64
Khảo sát thủ tục sau:Create procedure prcTemp@tmp int outputAsSelect @tmp=ytd_sales from titlesReturnHãy xác định lệnh SQL được dùng để hiển thị giá trị của biến đầu ra khi thủ tục này được gọi :
Declare @temp int Exec prcTemp @tmp=@tempPrint @temp
Declare @temp intExec prcTemp @tmp=@temp outputPrint @temp
Declare @tmp int Exec prcTemp @tmp Print @tmp
Exec prcTemp @tmp output Print @tmp
Khi thực hiện thao tác nào với bảng thì trigger được gọi?
Delete
Insert
Tất cả các phương án đều đúng
Update
Khi xảy ra một sự kiện thao tác dữ liệu trong CSDL được lưu tạm vào bảng nào?
Deleted
Deleted và Inserted
Inserted
Updated
Kiểu dữ liệu nào sau đây KHÔNG có trong SQL Server ?
Bool
Char
Nvarchar
Text
Làm cách nào để trả về nhiều giá trị từ 1 procedure?
Bạn không thể thực hiện đượ
Sử dụng các parameters IN.
Sử dụng các parameters OUT parameters.
Sử dụng con trỏ.
Lệnh nào sau đây không thể rollback?
DELETE
DROP
INSERT
Tất cả đều sai
Lệnh sửa đổi 1 thủ tục có tên là prcPrintStoreList như sau:ALTER PROCEDURE prcPrintStoreList @state char(15)ASBEGINIF EXISTS(SELECT * FROM Stores WHERE state=@state)BEGINPRINT 'List of Stores'SELECT stor_id,stor_name, stor_address,cityFROM Stores WHERE state = stateReturn 0ENDELSEBEGINPRINT 'No Records Found for given state'RETURN 1ENDENDHãy xác định kết quả sửa đổi này
1
Lỗi biên dịch ( Compile-time error )
Lỗi khi chạy thủ tục (Run-time error )
Lý do cần thiết phải thực hiện sao lưu dữ liệu?
Bị hack
Do nguyên nhân bên ngoài, bị vô tình hay cố ý làm sai thông tin
ổ đĩa chứa tâp tin CSDL bị hỏng, Server bị hỏng
Tất cả các phương án đều đúng
Mô hình phục hồi thực hiện: “Là mô hình phục hồi toàn bộ hoạt động giao dịch của dữ liệu (Insert, Update, Delete, hoạt động bởi lệnh bcp, bulk insert).”
Bulk-Logged Recovery Model
Full Recovery model
Simple Recovery Model
Mỗi cơ sở dữ liệu trong SQL Server gồm mấy tập tin?
1
2
3
4
Một câu lệnh IF… …ELSIF có thể có mấy mệnh đề ELSE? 0 64 1
0 1
1
64
Không giới hạn
Một cơ sở dữ liệu chứa ít nhất là?
1 file mdf
1 file mdf và 1 file ldf
1 file mdf và 1 file ndf
1 file mdf, 1 file ndf và 1 file ldf
Một cột kiểu NCHAR(25) chiếm dung lượng là?
100 byte
2 byte
25 byte
50 byte
Mục đích của câu lệnh ALTER TRIGGER là gì?
Sửa một trigger đã có
Tạo một trigger mới
Tất cả các phương án đều đúng
Xóa một trigger đã có
Nếu lưu giá trị 34567.2255 vào một cột có kiểu dữ liệu NUMBER(7,2), giá trị thực sự được lưu trữ là:
34500
34567.22
34567.23
34600
Người dùng duyệt Web bằng phần mềm gì?
Web Browser
Web Page
Web Server
Web Site
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:
Batches
Stored Procedures
Triggers
View
Phần mềm nào sau đây không phải là một Web Browser?
File Zilla
Google Chrome
Internet Explorer
Opera
Phát biểu nào sau đây mô tả thuộc tính atomicity của 1 transaction ?
Bất kỳ thay đổi dữ liệu được thực hiện bởi một transaction vẫn giữ nguyên hiệu quả sau khi transaction hoàn tất
Mọi chỉnh sửa trong 1 transaction hoặc được thi hành hết hoặc không có 1 chỉnh sửa nào được thực hiện
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
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
Phiên bản cài đặt nào sau đầy đủ cho các doanh nghiệp vừa và nhỏ thực hiện tính năng thương mại điện tử?
Enterprise Edition
Express Edition
Standard Edition
Workgroup Edition
Phiên bản Enterprise của SQL Server chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến?
16 CPUs và 32 GB RAM
32 CPUs và 64 GB RAM
4 CPU và 2 GB RAM
64 CPUs và 128 GB RAM
Phiên bản Personal của SQL Server có thể cài đặt?
Trên hầu hết các phiên bản của windows, kể cả Windows 98.
Windows 98
Windows Server 2000
Windows XP
Phương pháp phân mảnh thực hiện: Chia quan hệ ban đầu R thành các mảnh (đoạn), mỗi mảnh chứa một số bộ giá trị của R thỏa mãn một tính chất nào đấy (điều kiện phân mảnh).
Không phải các phương pháp này
Phân mảnh dọc
Phân mảnh hỗ hợp
Phân mảnh ngang
Phương pháp phân mảnh thực hiện: Chia tách quan hệ ban đầu R thành các quan hệ Ri có số cột nhỏ hơn, (tập con của R) nhưng mỗi Ri đều phải chứa khóa chính của R
Không phải các phương pháp này
Phân mảnh dọc
Phân mảnh hỗ hợp
Phân mảnh ngang
Phương pháp phân tán nào mà dữ liệu để tại một Server và các máy khách (Client) liên kết đến để khai thác?
Chia nhỏ dữ liệu
Phương thức lai
Sao lặp dữ liệu
Tập trung dữ liệu
Quy luật nào sau đây không đúng đối với một thủ tục (stored procedure).
Bạn có thể tạo một bảng tạm riêng bên trong 1 thủ tục
Bạn có thể tạo, tạo lại, hay xóa các đối tượng bên trong 1 thủ tục Các lệnh mà bạn có thể sử dụng là CREATE, DROP, và SELECT INTO trong thủ tục của bạn
Bạn có thể tham chiếu đến 1 đối tượng không nằm trong cùng 1 database với thủ tục của bạn
Bạn có thể thực thi 1 thủ tục mà thủ tục này gọi 1 thủ tục khác. Thủ tục được gọi có thể truy xuất đến các đối tượng được tạo ra bởi thủ tục gọi
Sự khác biệt cơ bản giữa dettach và xóa CSDL?
CSDL vẫn còn trong máy nhưng tạm thời bị tách khỏi Instance
CSDL xóa hẳn nhưng instance vẫn quản ly
CSDL xóa hẳn trong máy
Sự khác nhau cơ bản trong 2 trường hợp sau:1. Sửa trigger bằng lệnh Alter trigger2. Xóa trigger bằng lệnh drop trigger sau đó tạo lại bằng lệnh create trigger
Khi dùng lệnh Alter trigger thì các quyền đã cấp phát cho trigger đó vẫn còn
Khi dùng lệnh Drop thì toàn bộ quyền cấp phát trên trigger bị mất và phải cấp phát lại
Tất cả các phương án đều đúng
Tập tin có phần mở rộng là .ndf được dùng để làm gì?
Chỉ dùng khi cơ sở dữ liệu được phân chia chứa trên nhiều đĩa
Chứa dữ liệu chính
Ghi lại các thay đổi dữ liệu giúp thực hiện rollback khi cần
Thành phần nào không phải đối tượng trong SQL Server?
Constraint
Replication
Table
Trigger
Thành phần nào sau đây của SQL Server cho phép người dùng quản lý các đối tượng cơ sở dữ liệu bằng đồ họa?
Books Online
SQL Server Configuration Manager
SQL Server Management Studio
Thành phần nào sau đây thuộc phía Server trong mô hình Client – Server?
Database
DB Library Application
Network
OLE DB Application
Thay vì thực hiện truy vấn câu lệnh:SELECT * FROM Server2.QuanlyKH.dbo.KhachHangĐể thực hiện trong suốt dữ liệu với tên là “QLKH” thì câu lệnh đúng là gì?
Create QLKH for  Server2.QuanlyKH.dbo.KhachHangSelect * from QLKH
Create synonym QLKH for  Server2.QuanlyKH.dbo.KhachHangSelect * from QLKH
Create synonym QLKH for  KhachHangSelect * from QLKH
Create synonym QLKH for  QuanlyKH.dbo.KhachHangSelect * from QLKH
Thứ tự kiêm tra ràng buộc toàn vẹn dữ liệu là gì?
Constraint -> Trigger instead of ->Trigger For/After
Constraint -> Trigger instead of -> Trigger For/After
Trigger For/After -> Trigger instead of -> Constraint
Trigger instead of -> Constraint -> Trigger For/After
Thủ tục GetSalesPersonData được tạo ra trả về số tiền bán được của nhân viên:CREATE PROCEDURE GetSalesPersonData@SalesPersonID int,@RegionID int,@SalesAmount money OUTPUTASSELECT @SalesAmount = SUM(SalesAmount)FROM SalesInformationWHERE @SalesPersonID = SalesPersonIDLệnh nào sau đây sẽ thực thi đúng thủ tục trên?
EXECUTE GetSalesPersonData @SalesPersonID = 1, @RegionID= 1, @SalesAmount= NULL
EXECUTE GetSalesPersonData @SalesPersonID=1, @RegionID=1, @SalesAmount=0
EXECUTE GetSalesPersonData 1, 1, NULL
EXECUTE GetSalesPersonData 1,1, @SalesAmount OUTPUT
Thủ tục sp_addlinkedserver dùng để thực hiện gì?
Đăng nhập và kết nối đến Server khác
Hủy bỏ liên kết đến Server khác
Kiểm tra việc tạo liên kết đến Server khác có thành công hay không
Thêm môt Linked Server (Cho phép liên kết đến Server khác)
Thuộc tính nào sau đây không dùng để cấu hình cơ sở dữ liệu SQL Server?
Auto Read
Auto Shink
Read Only
Restrict Access
Trigger khác so với thủ tục lưu ở nội dung gì?
Không cần gọi bằng lệnh EXEC mà tự động được kích hoạt khi dữ liệu trên bảng liên quan được cập nhật
Không có tham số và giá trị trả về
Tất cả các phương án đều đúng
Trong cơ sở dữ liệu hệ thống, tập tin nào sau đây lưu trữ các thông tin login account?
Master
Model
Msdb
Tempdb
Trong table NHANVIEN, giá trị LUONG của nhân viên tên A (TenNV = 'A') trong T-SQL sau bằng mấy?BEGINUPDATE NHANVIEN SET luong = 6000 WHERE TenNV = 'A'SAVE tran save_AUPDATE NHANVIEN SET luong = 7500 WHERE TenNV = 'A'SAVE tran save_AUPDATE NHANVIEN SET luong = 3000 WHERE TenNV = 'A'SAVE Tran save_A1ROLLBACK tran save_AENDCOMMIT
3000
6000
7500
Không phải các giá trị trên
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 = @sport_id
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
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
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
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 không bằng với tham s