WorksheetsChương 4: Thủ tục lưu trữ trong SQL Server
Total questions: 21
Worksheet time: 11mins
Câu hỏi 1: Lợi ích chính của thủ tục lưu trữ là gì
Tăng kích thước cơ sở dữ liệu
Giảm hiệu suất truy vấn
Tăng bảo mật và tái sử dụng mã
Chỉ dùng để hiển thị dữ liệu
Câu hỏi 2: Cú pháp nào dùng để tạo thủ tục lưu trữ
CREATE FUNCTION
CREATE PROCEDURE
ALTER TABLE
DECLARE PROCEDURE
Câu hỏi 3: Tham số trong thủ tục lưu trữ có vai trò gì
Lưu trữ dữ liệu vĩnh viễn
Tùy chỉnh xử lý dữ liệu đầu vào
Tạo bảng mới
Xóa dữ liệu trong bảng
Câu hỏi 4: Cú pháp khai báo tham số trong thủ tục là gì
DECLARE @ThamSo KieuDuLieu
CREATE @ThamSo KieuDuLieu
@ThamSo KieuDuLieu
SET @ThamSo = KieuDuLieu
Câu hỏi 5: Lệnh nào dùng để gán giá trị cho biến
EXEC
SET hoặc SELECT
ALTER
DROP
Câu hỏi 6: Biến trong thủ tục lưu trữ có phạm vi hoạt động như thế nào
Toàn bộ cơ sở dữ liệu
Chỉ trong thủ tục hoặc khối mã BEGIN…END
Trong tất cả các thủ tục
Chỉ trong câu lệnh SELECT
Câu hỏi 7: Câu lệnh nào dùng để sửa đổi thủ tục lưu trữ
DROP PROCEDURE
ALTER PROCEDURE
CREATE PROCEDURE
MODIFY PROCEDURE
Câu hỏi 8: Lệnh nào dùng để xóa một thủ tục lưu trữ
DELETE PROCEDURE
DROP PROCEDURE
REMOVE PROCEDURE
ERASE PROCEDURE
Câu hỏi 9: Thủ tục sau trả về gì CREATE PROCEDURE sp_LayNV AS BEGIN SELECT FROM NhanVien END
Một giá trị số nguyên
Một tập hợp kết quả (Result Set)
Một tham số đầu ra
Không trả về gì
Câu hỏi 10: Thủ tục sau làm gì
CREATE PROCEDURE sp_ThemNV @TenNV NVARCHAR(50), @Luong INT
AS BEGIN INSERT INTO NhanVien (TenNV, Luong) VALUES (@TenNV, @Luong)
END
Trả về danh sách nhân viên
Thêm một bản ghi vào bảng NhanVien
Cập nhật lương nhân viên
Xóa nhân viên
Câu hỏi 11: Tham số đầu ra (OUTPUT) được khai báo như thế nào
@ThamSo KieuDuLieu OUTPUT
@ThamSo KieuDuLieu RETURN
DECLARE @ThamSo OUTPUT
SET @ThamSo OUTPUT
Câu hỏi 12: Kết quả của thủ tục sau là gì
CREATE PROCEDURE sp_DemNV @SoLuong INT OUTPUT
AS
BEGIN
SET @SoLuong = (SELECT COUNT() FROM NhanVien)
END
Trả về bảng danh sách nhân viên
Trả về số lượng nhân viên qua tham số đầu ra
Xóa bản ghi trong bảng NhanVien
Không trả về gì
Câu hỏi 13: Câu lệnh `RETURN` trong thủ tục trả về gì
Một bảng dữ liệu
Một giá trị số nguyên
Một chuỗi ký tự
Một tham số đầu ra
Câu hỏi 14: Câu lệnh `IF…ELSE` trong thủ tục dùng để làm gì
Lặp lại một khối lệnh
Thực thi có điều kiện
Thoát khỏi vòng lặp
Bỏ qua câu lệnh hiện tại
Câu hỏi 15: Kết quả của đoạn mã sau là gì
DECLARE @i INT = 1 WHILE @i = 3
BEGIN
PRINT CAST(@i AS VARCHAR) SET @i = @i + 1
END
In ra 1, 2, 3
In ra 1, 2
In ra 3, 2, 1
Không in gì
Câu hỏi 16: Lệnh `BREAK` trong vòng lặp WHILE có tác dụng gì
Bỏ qua phần còn lại của vòng lặp và quay lại điều kiện
Thoát hoàn toàn khỏi vòng lặp
Tăng giá trị biến lặp
Thực thi câu lệnh khác
Câu hỏi 17: Lệnh `CONTINUE` trong vòng lặp WHILE có tác dụng gì?
Thoát hoàn toàn 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
Dừng thủ tục
Thực thi câu lệnh ELSE
Câu hỏi 18: Thủ tục sau có lỗi gì
CREATE PROCEDURE sp_TimNV @MaNV INT
AS
BEGIN
SELECT
FROM NhanVien
WHERE MaNV = MaNV
END
Thiếu từ khóa OUTPUT
Sai cú pháp điều kiện WHERE
Thiếu khai báo biến
Thiếu khối BEGIN…END
Câu hỏi 19: Kết quả của thủ tục sau khi thực thi là gì
CREATE PROCEDURE sp_KiemTraNV @MaNV INT
AS
BEGIN
IF EXISTS (SELECT 1 FROM NhanVien WHERE MaNV = @MaNV)
RETURN 1 ELSE RETURN 0 END DECLARE @KetQua INT
EXEC @KetQua = sp_KiemTraNV 101
SELECT @KetQua
Trả về bảng nhân viên
Trả về 1 nếu nhân viên tồn tại, 0 nếu không
Trả về số lượng nhân viên
Không trả về gì
Câu hỏi 20: Thủ tục sau có thể trả về bao nhiêu kiểu kết quả
CREATE PROCEDURE sp_LayLuongCaoNhat @LuongMax INT OUTPUT
AS
BEGIN SET @LuongMax = (SELECT MAX(Luong) FROM NhanVien) SELECT FROM NhanVien WHERE Luong = @LuongMax
END
Chỉ trả về tham số đầu ra
Trả về cả tham số đầu ra và tập hợp kết quả
Chỉ trả về tập hợp kết quả
Không trả về gì
Câu hỏi 21: Làm thế nào để xóa thủ tục mà không gây lỗi nếu thủ tục không tồn tại
DROP PROCEDURE Ten_Thu_Tuc
DROP PROCEDURE IF EXISTS Ten_Thu_Tuc
DELETE PROCEDURE Ten_Thu_Tuc
ALTER PROCEDURE Ten_Thu_Tuc DROP
