1.Điều gì làm cho vòng lặp WHILE ngừng lặp?Khi điều kiện được đánh giá là FALSE 2.V_GRADE nhận giá trị C thì qV_PRICE sẽ nhận giá trị thế nào?IF V_PRICE > 1000 Set V_GRADE = AELSEIF V PRICE > 900 Set V GRADE = BELSEIF V PRICE > 800 Set V GRADE = CELSEIF V PRICE > 600 SetV GRADE = DELSE SetV GRADE = E > V_PRICE trong khoảng 801 và 900 V_PRICE lớn hơn 1000 3.Allen muốn xoá thủ tục bo fx_order_cost. Lệnh nào được dùng để xoá thủ tục này?DROP
Trang 11 Điều gì làm cho vòng lặp WHILE ngừng lặp?
- Khi điều kiện được đánh giá là FALSE
2 @V_GRADE nhận giá trị 'C' thì qV_PRICE sẽ nhận giá trị thế nào?IF @V_PRICE
> 1000 Set @V_GRADE = 'A'ELSEIF @V PRICE > 900 Set @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 trong khoảng 801 và 900 V_PRICE lớn hơn 1000
3 Allen muốn xoá thủ tục bo fx_order_cost Lệnh nào được dùng để xoá thủ tục này?
- DROP
4 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 thườ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 phải theo cùng
1 thứ tự
5 Biến @a nhận giá trị nào khi khối lệnh sau được thực thi?DECLARE @a
intBEGINselect @a= @a + TENDselect @a 1 0 Tất cả đều sai
- NULL
6 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
Trang 27 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 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
CSDL-hệ thống- Ảnh hưởng thời gian đáp ứng các yêu cầu CSDL-hệ thống
- Full backup
8 Các hàm nào không thể sử dụng với kiểu dữ liệu xâu?
- SUM() và AVG()
9 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)asSelect * from titles Where title like
14 Câu lệnh CREATE LOGIN <tên đăng nhập> FROM WINDOWS WITHỊ
DEFAULT_DATABASE = <Tên | CSDL> Jđược dùng để làm gì?
- Tạo login với quyền đăng nhập Window
15 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?
Trang 3- GRANT allTO public
16 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 ALLFROM db_user1
17 Câu lệnh để thực hiện C 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
18 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( Luong )FROM db_user1
19 Câu lệnh nào được phép dùng trong khối lệnh T-SQL?
- DELETE ALTER TABLE CREATE VIEW DROP TABLE
20 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
21 Câu lệnh sau đây thực hiện giCREATE LOGIN testWITH PASSWORD = 12345' MUST_CHANGE
- 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
22 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
23 Câu lệnh sau thực hiện gì?GRANT CREATE TABLE, CREATE VIEWTO db user
- Cấp quyền được phép tạo bảng và tạo view đối với tài khoản db_user
Trang 424 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 ELSIF ELSE
25 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 tbINV(MaNV, HoTen, NgaySinh) và tbINV2(MaNV, TrinhDo, ChuyenNganh, Nam) là phương pháp phân mảnh gì?
- Phân mảnh dọc
26 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 Delete ASBeginDECLARE
@MaPhg nvarchar(9)SELECT @MaPhg = MaPB FROM DELETEDIF
EXISTS(SELECT * FROM NHANVIEN WHERE MaPB = @MaPhg)DELETE FROM NHANVIEN WHERE MaPB = @MaPhglF EXISTS(SELECT * FROM DEAN WHEREMaPB = @MaPhg) DELETE FROM DEAN WHERE MaPB = @MaphgEnd
27 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 insertASBEGINdeclare
@tg as floatSELECT @tg = SoGio from INSERTEDif (@tg<5 or
@tg>10)Raiserror("Thời gian chỉ nhập từ 5 đến 10’, 16,1)END
28 Cho bảng tbICTHOADON (sMaHD, sMaSP, ISL, FDG, #ThanhTien) và
tblHOADON("Ngaylap, sMaHD,sSdtKH, SMANV)Đoạn Trigger sau để thực hiện yêu cầu gì:CREATE TRIGGER suaCTHDON tblCTHOADONInstead of
updateAslf update(ISL) Begin Declare int @sl, float @dg, nvarchar @soHD Select
Trang 5@sl = iSL, @dg = fDG, @soHD = SMaHD From insterted Update tbIHOADON Set Tong Tien = Tong Tien + @sl * @dg Where sMaHD = @soHDEnd
- Khi cập nhật giá trị tại Cột Số lượng (OSL) trong bảng tb/CTHOADON 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
29 Cho bảng tbICTHOADON (sMaHD, SMASP, ISL, TDG, 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
- CREATE TRIGGER suaCTHDON VICTHOADONInstead of updateAslf
update(ISL)BeginDeclare int@sl, float @dg, nvarchar(9) @soHD, nvarchar(9) @ma SP Select @sl = iSL, @dg = fDG, @soHD = SMaHD, @maSP = SMaSPFrom
instertedUpdate tblCTHOADONSet fThanhTien = @sl * @dgWhere sMaHD = @soHD and SMaSP = @maSPEnd
30 Cho bảng thiNHANVIEN(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 thiNHANVIEN cho tài khoản “nguoidung1”
là gì?
- GRANT SELECTON DINHANVIENTO nguoidung1
31 Cho bảng thiNHANVIEN(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 thiNHANVIEN cho tài khoản “nguoidung1” là gì?
- GRANT SELECT, UPDATEON tEINHANVIEN(HoTen, QueQuan)TO nguoidung1
32 Cho bảng tbINHANVIEN(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
- Select sHotenFrom tbINHANVIENWhere fHSL>3.66
33 Cho bảng tbINHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) Đây 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
- Select sHoten, fHSLFrom tbINHANVIENWhere fHSL>3.33
Trang 634 Cho bảng tblSANPHAM(sMasP, sTenSP, iSoluong, Dongia, sxuatSu) và
tbICTHOADON (sMaHD, SMasP, iSLM), tblHOADON("Ngaylap, 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 đó
- CREATE PROC spTenSP(datetime @d)AsBEGINSelect s Ten SPFrom tbISANPHAM as
A, tblCTHOADON as B, tbIHOADON as CWhere dNgayLap = @d and A.SMaSP = B.SMaSP and B.sMaHD = C.SMaHDEND
35 Cho bảng tb/SANPHAM(sMaSP, sTenSP, iSoluong, fDongia, XuatSu) và
tbICTHOADON (sMaHD, sMaSP, iSLM), tblHOADON("Ngaylap, 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 đó?
- CREATE PROC spTenSP(varchar(9) @mhd)AsBEGINSelect sTen SPFrom
tbISANPHAM as A, tblCTHOADON as BWhere sMaHD = @mhd and A.SMaSP = B.SMaSPEND
36 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, #Dongia, Xuatsu) và
tb/CTHOADON (sMaHD, SMASP, iSLM), tbHOADON(Ngaylap, 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 đó?
- CREATE PROC spTenSP(int @m, int@y)AsBEGINSelect sTen SPFrom tbISANPHAM
as A, tblCTHOADON as B, tbIHOADON as CWhere month(dNgayLap) = @m and year(dNgayLap) = @y and A.SMaSP = B.SMaSP and B.sMaHD = C.SMAHDEND
37 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatsu) và
tbICTHOADON (sMaHD, SMASP, iSLM), tb/HOADON( Ngaylap, 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 đó?
Trang 7- CREATE PROC spTenSP(int @y)AsBEGINSelect sTenSPFrom tbISANPHAMWhere
SMaSP not in (Select SMaSP from tblCTHOADON as A, tbIHOADON as BWhere year(dNgayLap) = @y and A.sMaHD = B
38 Cho bảng tb/SANPHAM(sMaSP, sTenSP, iSoluong, fDongia, XuatSu) và
tbICTHOADON (sMaHD, sMaSP, iSLM), tblHOADON("Ngaylap, sMaHD,
SSdtKH, SMANV) Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC sp TenSP(datetime @d) ASBEGIN Select s Ten SP From tbISANPHAM as A,
tblCTHOADON as B, tbIHOADON as C Where dNgayLap = @d and A.SMaSP = B.SMaSP and B.sMaHD = C.SMAHDEND
- 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
39 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatsu) và
tbICTHOADON (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 đó?
- CREATE PROC spTenSP(nvarchar(9) @mhd) ASBEGINSelect s Ten SPFrom
tblSANPHAM as A, tblCTHOADON as BWhere sMaHD = @mhd and A.SMaSP = B.SMaSPEND
40 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, Dongia, sXuatsu) và
tb/CTHOADON (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 sTen SP From tbISANPHAM as A, tblCTHOADON as B Where sMaHD = @mhd and A.SMaSP = B.SMaSPEND
- 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
41 Cho bảng tbSANPHAM(sMasP, sTenSP, iSoluong, Dongia, sXuatsu) Đây 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
Trang 8- Select sTenSPFrom tblSANPHAMWhere fDon Gia > 50000 and sXuatSu = N'Pháp'
42 Cho bảng tbSANPHAM(sMasP, sTenSP, iSoluong, Dongia, sXuatsu) Đây 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
- Select sTen SPFrom tbISANPHAMWhere fDongia between 50000 and 100000
43 Cho bảng tblSANPHAM(sMasP, sTenSP, iSoluong, #Dongia, sXuatSu) Đây 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ứ
- Select sXuat Su, sum(iSoluong) From tbISANPHAMGroup by sXuatsu
44 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, Dongia, sXuatSu) Đây 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ó
- Select sum(iSoluong*fDon Gia)From tbISANPHAM
45 Cho bảng tblSANPHAM(sMasP, sTenSP, iSoluong, Dongia, sXuatsu) Đâu là thủ tục
để cho tên các sản phẩm có đơn giá trong một khoảng da và @b nào đó?
- CREATE PROC spTenSP(float @a, float @b)AsBEGINSelect sTen SPFrom
tbISANPHAMWhere fDon Gia between @a and @bEND
46 Cho bảng tblSANPHAM(sMasP, sTenSP, iSoluong, Dongia, 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
- CREATE PROC spTenSP(nvarchar @xs)ASBEGINSelect sTenSPFrom
tbISANPHAMWhere sXuatsu = @xSEND
47 Cho bảng tb/SANPHAM(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 tbISANPHAM Where fDon Gia between @a and
@bEND
- Cho danh sách tên sản phẩm có đơn giá trong khoảng từ @a đến @b với da và @b là
tham số truyền vào
Trang 948 Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, #Dongia, sXuatSu) Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC sp TenSP(float @a, nvarchar
@xs) ASBEGIN Select sTenSP From tbISANPHAM Where fDon Gia > @a and sXuatSu = @XSEND
- Cho danh sách tên sản phẩm có đơn giá lớn hơn một số da và xuất sứ từ một nước @xs
nào đó, với số da và xuất sứ @xs là tham số truyền vào
49 Cho bảng tblSANPHAM(sMast, sTenSP, iSoluong, Dongia, sXuatsu) Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?CREATE PROC sp TenSP(nvarchar @xs)ASBEGIN Select sTenSP From tbISANPHAM Where sXuatSu = @xsEND
- 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
50 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 Update MaPhongON PHONGBANFOR UPDATEASBEGINIF
UPDATE( MaPhong BEGINDECLARE @MaPhgCu nvarchar(9), @MaPhg Moi
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
51 Cho các bảngLOP( malop, TenLop, NienKhoa, SiSo)SINHVIEN ( MaSV, Hoten, NS,
GT, maLop)Viết trigger khi sưay một lớp nào đó thì các sinh viên thuộc lớp đó cũng sửa theo.
- CREATE TRIGGER Update MaLopON LOPFOR UPDATEASBEGINIF
UPDATE( MaLop)BEGINDECLARE @MaLopCu nvarchar(9), @MaLopMoi
nvarchar(9) SELECT @ MaLopCu = Malop FROM DELETEDSELECT @MaLopMoi =Malop FROM INSERTEDENDEND
Trang 1052 Cho CSDL “QLGV” với bảng tbINV 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, DienThoại, 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 tbINV.MaNV, Hoten, GioiTinh, DiaChi, DienThoại, Email From tbINV,
Server1.QLGV.dbo.tbINVWhere end
- tbINV.MaNV = Server1.QLGV.dbo.
53 Cho CSDL “QLGV” với bảng tbINV 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, DienThoại, 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 spensertNhanVien (@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 tbINV Values(@ma, @DC, @DT, @Email) print N'Thêm thành công'End
- Insert Into Server1.QLGV.dbo.tbINV Values(@ma, @HT, @GT)
54 Cho CSDL “QLNV với bảng tbNhanVien(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 tb/Nhanvien
55 Cho CSDL “QLNV” với bảng tbNhanVien(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)
Trang 11- Create Proc spinsertNhanvien (@ma varchar(10), @ten nvarchar(20), @gioitinh
nvarchar(3), @diachi varchar(30) asBeginlf @gioitinh = ‘Nam’Insert Into tbiNhanvien Values(@ma,@ten,@gioitinh,&diachi ElseInsert Into
Server1.QLNNV.dbo.tblNhanvienValues(@ma,@ten,@gioitinh,@diachi)print N'Thêm thành công'End
56 Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc Server1 gồm các thông tin: MaPhong, TenPhong-Server2 gồm các thông tin:
sau:-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, Dien ThoaiFrom QLNV.dbo.tblPhongban a,
tblPhongBan bWhere a MaPhong = b MaPhong
57 Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc Server1 gồm các thông tin: MaPhong, TenPhong-Server2 gồm các thông tin:
sau:-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).
- Create Proc spinsertPhongban (@ma varchar(10), @ten nvarchar(20), @diachi
nvarchar(30), @dienthoai varchar(11)) asBeginInsert Into tblPhongBan Values(@ma,
@diachi, @dienthoai)Insert Into Server1.QLNV.dbo.tblPhongBan Values(@ma,
@ten)print N'Thêm thành công'End
58 Cho CSDL “QuanLyBH” được cài đặt tại ServerAO và ServerThat như sau:*Tại ServerAo có chứa bảng tbINV(MaNV, HoTen, NgaySinh, TrinhDo, ChuyenNganh, Nam) *Tại ServerThat có bảng tbINV(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?
- Select MaNV, HoTen, TrinhDoFrom tbINVUnionSelect MaNV, HoTen, TrinhDoFrom ServerAo QuanLyBH.dbo.tblNV
Trang 1259 Cho CSDL “QuanLyBH” được cài đặt tại ServerAo và ServerThat như sau:*Tại ServerAo có chứa bảng tbINV2(MaNV, TrinhDo, ChuyenNganh, Nam) *Tại
ServerThat Có bảng tbINV(MaNV, HoTen, NgaySinh)Tại Server That 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
- Seclect tblNV.MaNV, HoTen, TrinhDoFrom tblNV, ServerAo
QuanLyBH.dbo.tbINV2Where tblNV.MaNV = ServerAo
QuanLyBH.dbo.tbINV2.MaNV
60 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.QuanlyKH.dbo.KhachHang
61 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 @NOTG = (SELECT
NgLamDA FROM INSERTED)SET @NgBD = (SELECT NgayBD FROM DEAN, INSERTEDWHERE DEAN.MADA = INSERTED MADAIF (@NgTG < @NgBD
FBEGINraiserror(N'Ngày Tham gia phải sau ngày bắt đầu,16,1)ENDEND
62 Cho CSDL gồm các bảng.tblSANPHAM(sMaSP, sTenSP, iSoluong, #Dongiaban, sNhaSX, TSLuongBan) tblHOADON("Ngaylap, sMaHD, SSdtKH,
SMANV)tbICTHOADON (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?
Trang 13- Trigger Proc Table View
63 Cho CSDL gồm các bảng.tblSANPHAM(sMasP, sTenSP, iSoluong, Dongiaban, sNhaSX,TSLuongBan) tblHOADONNgaylap, sMaHD, sSdtKH,
SMaNV)tbICTHOADON (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?
- Create trigger capnhat MaSPON tblSanPhamAfter UpdateBeginDeclare @maSPM
nvarchar(10), @ma SPC nvarchar(10) Select @ma SPM From inserted Select @maSPC From deletedUpdate tbICTHOADONSet SMaSP = @maSPMWhere sMaSP =
@maSPCEnd
64 Cho CSDL quản lý bán hàng gồm hai bảng:tblKHACHHANG(ssdtKH, sTenKH SoHoaDon) tblHOADON("Ngaylap, sMaHD, SSdtKH, SMANV)Đoạ Trigger sau đây thực hiện gì?CREATE tblHOADONInstead of InsertBegin Declare @soDT nvarchar(10) Select @soDT = SSDTKH From tbl inserted Update
tblKHACHHANG Set SolanMua = SoLanMua + 1end
- 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ị
65 Cho CSDL quản lý bán hàng gồm hai bảng.tblKHACHHANG(sSdtKH, sTenKH, SoHoaDon) tblHOADON("Ngaylap, 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ị
- CREATE TRIGGER Them HoaDon ON tEIHOADONInstead of InsertBeginDeclare
@soDT nvarchar(10) Select @soDT = SSDTKHFrom insertedUpdate
tbKHACHHANGSet SoLanMua = SoLanMua + 1 Where sSdtKH = @soDTend
66 Cho CSDL quản lý bán sản phẩm gồm các bảng: tbINHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) tbISANPHAM(SMaSP, sTenSP, iSoluong, fDongiaban, sNhaSx) tblKHACHHANG(sSdtKH, sTenKH) tblHOADON("Ngaylap, sMaHD,
Trang 14SSdtKH, SMANV)tbICTHOADON (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 đó
- CREATE PROC spTenNV(datetime @d)AsBEGINSelect sHotenFrom
tbINHANVIENWhere sMaNV not in (Select sMaNV from tblHOADONWhere
dNgayLap = @d)END
67 Cho CSDL quản lý bán sản phẩm gồm các bảng: tbINHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan) tbISANPHAM(SMaSP, sTenSP, iSoluong, fDongiaban, sNhaSx) tblKHACHHANG(SSdtKH, sTenKH) tblHOADON("Ngaylap, sMaHD, SSdtKH, SMANV)tbICTHOADON (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 đó
- CREATE PROC spTenNV(datetime @d)ASBEGINSelect sHotenFrom
tbINHANVIENWhere sMaNV in (Select MaNV from tbIHOADONWhere dNgayLap =
@d)END
68 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 NHANVIENT HoTen, HSL )FROM db_user1
69 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_user1 REVOKE SELECT, UPDATEON PHONGBAN( TenPB )FROM db_user1
- Select HoTen, HSL, TenPBFrom NHANVIEN, PHONGBANWhere NHANVIEN.MaPB
= PHONGBAN.MaPBUpdate NHANVIENSet HSL = HSL + 1Where GioiTinh = N’Nữ”Delete from NHANVIENWhere GioiTinh = N'Giới tính”
Trang 1570 Cho CSDL quản lý sản phẩm với bảng thiNHANVIEN 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 tbINHANVIEN Where fHSL>3.33
sMaNV sHoten sGioitinh fHSL sQuequan
NV001 Nguyễn Thị Hà Nữ 3.00 Thanh Hoá
NV002 Trần Văn Hùng Nam 3.33 Thanh Hoá
NV003 Đào Văn Hải Nam 3.00 Thái Bình
NV004 Phạm Thị Lan Nữ Nữ 3.33 Thái Nguyên
NV005 Trần Trọng Hải Nam 3.66 Thái Nguyên
NV006 Phạm Văn Nghĩa Nam 3.00 Thái Bình
nh
fHSL sQuequan
NV001 Nguyễn Thị Hà Nữ 3.00 Thanh Hoá
NV002 Trần Văn Hùng Nam 3.33 Thanh Hoá
NV003 Đào Văn Hải Nam 3.00 Thái Bình
NV004 Phạm Thị Lan Nữ Nữ 3.33 Thái Nguyên
NV005 Trần Trọng Hải Nam 3.66 Thái Nguyên
NV006 Phạm Văn Nghĩa Nam 3.00 Thái Bình