NEW
Font size
WorksheetsChương 4: Stored Procedure trong SQL
Total questions: 30
Worksheet time: 15mins
Stored Procedure trong SQL Server có vai trò nào sau đây?
Tự động hóa tác vụ lặp lại
Quản lý quyền truy cập dữ liệu
Tăng tốc độ thực thi truy vấn
Tất cả các ý trên
Lệnh nào dùng để thực thi Stored Procedure?
RUN
EXEC hoặc EXECUTE
CALL
START
Tham số đầu ra trong thủ tục được khai báo với từ khóa nào?
OUTPUT
RETURN
OUT
EXIT
Lệnh nào dùng để sửa đổi một thủ tục đã tồn tại?
ALTER PROCEDURE
UPDATE PROCEDURE
MODIFY PROCEDURE
CHANGE PROCEDURE
Lệnh nào dùng để xóa một thủ tục lưu trữ?
DROP FUNCTION
DELETE PROCEDURE
DROP PROCEDURE
REMOVE PROCEDURE
Trong thủ tục, câu lệnh CONTINUE có tác dụng gì?
Thoát khỏi thủ tục
Thoát khỏi vòng lặp
Bỏ qua phần còn lại của vòng lặp và quay lại kiểm tra điều kiện
Lặp vô hạn
Kiểu trả về nào sau đây không phải của Stored Procedure?
Result Set
Tham số OUTPUT
RETURN (int)
Chuỗi (string) trực tiếp
Viết thủ tục sp_DanhSachVatTu để hiển thị toàn bộ thông tin trong bảng VATTU. Lệnh gọi đúng là:
EXEC sp_DanhSachVatTu
RUN sp_DanhSachVatTu()
CALL sp_DanhSachVatTu
EXECUTE sp_DanhSachVatTu()
Tạo thủ tục sp_TimNCC với tham số @Mancc để tìm nhà cung cấp theo mã. Khi gọi với mã 'C01', cú pháp đúng là:
EXEC sp_TimNCC 'C01'
EXECUTE sp_TimNCC @Mancc='C01'
EXEC sp_TimNCC C01
Cả A và B đều đúng
Viết thủ tục thêm một vật tư mới vào bảng VATTU. Tham số cần truyền vào gồm:
Mã vật tư, tên vật tư
Mã vật tư, tên vật tư, đơn vị tính, phần trăm
Tên vật tư, đơn vị tính, phần trăm
Chỉ mã vật tư
Khi chèn dữ liệu mới vào NHACC, nếu không nhập số điện thoại thì mặc định giá trị là gì?
NULL
'Chưa có'
0
Trống rỗng
Câu 12: Thủ tục sp_TongSoDat @SoDH trả về tổng số lượng đặt trong CTDONDH. Câu lệnh SELECT trong thủ tục là:
SELECT SUM(Slnhap) FROM CTPNHAP WHERE Sodh=@SoDH
SELECT SUM(Slxuat) FROM CTPXUAT WHERE Sodh=@SoDH
SELECT SUM(Sldat) FROM CTDONDH WHERE Sodh=@SoDH
SELECT COUNT(*) FROM CTDONDH WHERE Sodh=@SoDH
Câu 13: Khi muốn xóa thủ tục sp_XemDonDatHang, cú pháp đúng là:
DROP PROCEDURE sp_XemDonDatHang
DELETE sp_XemDonDatHang
REMOVE sp_XemDonDatHang
ALTER sp_XemDonDatHang DROP
Câu 14: Viết thủ tục sp_DanhSachDonDatHang trả về danh sách tất cả đơn đặt hàng (DONDH). Kết quả gồm:
Số đơn, ngày đặt, mã NCC
Chỉ số đơn và ngày đặt
Chỉ mã NCC và ngày đặt
Toàn bộ bảng NHACC
Câu 15: Thủ tục tính tổng tiền nhập của 1 phiếu nhập dựa vào CTPNHAP cần sử dụng công thức:
SUM(Slnhap + Dgnhap)
SUM(Slnhap * Dgnhap)
SUM(Dgnhap)
COUNT(*)
Câu 16: Trong bảng CTPXUAT, ràng buộc CHK_CTPX_SLX đảm bảo điều kiện:
Slxuat >= 0
Slxuat > 0
Slxuat < 100
Slxuat = 0
Câu 17: Viết thủ tục sp_TimVatTuTheoTen với tham số @TenVT. Câu lệnh điều kiện đúng:
WHERE Tenvtu=@TenVT
WHERE Tenvtu LIKE '%'+@TenVT+'%'
WHERE Mavtu=@TenVT
WHERE Dvitinh=@TenVT
Câu 18: Trong thủ tục, để khai báo biến @TongNhap INT đúng cú pháp là:
VAR @TongNhap INT
DECLARE @TongNhap INT
DIM @TongNhap INT
LET @TongNhap INT
Câu 19: Thủ tục kiểm tra tồn kho cuối kỳ cần lấy dữ liệu từ bảng nào?
VATTU
TONKHO
PXUAT
NHACC
Câu 20: Khi muốn trả về trạng thái thành công/thất bại của thủ tục, ta dùng:
OUTPUT
RETURN
SELECT
Câu 21: Thủ tục thêm bản ghi vào DONDH cần ít nhất bao nhiêu tham số?
1
2
3
4
Viết thủ tục sp_TongXuat @SoPX để tính tổng số lượng xuất. Câu lệnh đúng là:
SELECT SUM(Slnhap) FROM CTPNHAP WHERE Sopx=@SoPX
SELECT SUM(Slxuat) FROM CTPXUAT WHERE Sopx=@SoPX
SELECT SUM(Dgxuat) FROM CTPXUAT WHERE Sopx=@SoPX
SELECT COUNT(*) FROM CTPXUAT WHERE Sopx=@SoPX
Trong bảng TONKHO, cột nào có ràng buộc mặc định bằng 0?
Slcuoi
Sldau, Tongslnhap, Tongslxuat
Mavtu
Namthang
Để thủ tục trả về cả danh sách phiếu xuất (PXUAT), câu lệnh trong thủ tục là:
SELECT * FROM CTPXUAT
SELECT * FROM PXUAT
SELECT * FROM PNHAP
SELECT * FROM VATTU
Thủ tục sp_XemChiTietDDH @SoDH cần JOIN với bảng nào để hiện tên vật tư?
VATTU
CTPNHAP
PXUAT
TONKHO
Thủ tục lấy danh sách nhà cung cấp chưa có số điện thoại nhập vào (giá trị mặc định 'Chưa có') cần câu lệnh WHERE nào?
WHERE Dienthoai IS NULL
WHERE Dienthoai='Chưa có'
WHERE Dienthoai=''
WHERE Dienthoai=0
Khi muốn cập nhật thủ tục sp_TimNCC để bổ sung thêm điều kiện tìm theo tên NCC, ta dùng cú pháp:
UPDATE PROCEDURE sp_TimNCC
ALTER PROCEDURE sp_TimNCC
MODIFY PROCEDURE sp_TimNCC
REPLACE PROCEDURE sp_TimNCC
Thủ tục kiểm tra số lượng nhập trong CTPNHAP phải > 0. Ràng buộc đã có là CHK_CTPN_SLN. Nếu vi phạm thì:
SQL Server báo lỗi, không cho chèn dữ liệu
SQL Server tự động sửa giá trị = 1
SQL Server bỏ qua ràng buộc
SQL Server xóa dòng dữ liệu
Viết thủ tục sp_TongTienXuat @SoPX để tính tổng tiền xuất. Công thức đúng là:
SUM(Slxuat * Dgxuat)
SUM(Slnhap * Dgnhap)
SUM(Dgxuat)
COUNT(*)
Khi gọi thủ tục có tham số OUTPUT, ta cần:
Khai báo biến trước, truyền vào với OUTPUT
Chỉ truyền giá trị hằng
Không cần tham số
Dùng SELECT để gán trực tiếp
