Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution

    Đề bài: [SQL Server] Index UNIQUE chặn dữ liệu trùng

    Bảng taikhoan(id, email). Yêu cầu nghiệp vụ: email không được trùng nhau.

    Hãy tạo một index UNIQUE tên ux_tk_email trên cột email, sau đó thử chèn thêm một tài khoản có email trùng với tài khoản id = 1. Bọc lệnh chèn trong TRY ... CATCH:

    • Nếu chèn được, in THEM DUOC.
    • Nếu bị chặn, in BI CHAN.

    Cuối cùng in thêm một dòng nữa là tổng số dòng còn lại trong bảng.

    • Định dạng đầu vào:

      Bảng taikhoan đã được tạo sẵn. Cột: id INT, email NVARCHAR(100). Các email ban đầu luôn khác nhau và không NULL.

    • Ràng buộc đầu vào:

      Số tài khoản ≤1000\le 1000≤1000.

    • Định dạng đầu ra:

      Dòng 1: THEM DUOC hoặc BI CHAN. Dòng 2 (sau một dòng trống ngăn cách hai bảng kết quả): tổng số dòng của bảng taikhoan.

    Ghi chú:

    Đây là một trong những công dụng quan trọng nhất của index: vừa tăng tốc tìm kiếm, vừa áp đặt ràng buộc duy nhất.

    Ví dụ:

    Đầu vào:

    CREATE TABLE taikhoan(id INT, email NVARCHAR(100) NOT NULL);
    INSERT INTO taikhoan(id,email) VALUES (1,N'a@neu.edu.vn'),(2,N'b@neu.edu.vn');

    Đầu ra:

    BI CHAN
    
    2

    Chủ đề

    🗄️ Cơ sở dữ liệuSQL ServerSQL Server: IndexTất cả môn học

    Đang tải editor...