Tải bản đầy đủ (.docx) (57 trang)

Môn lập trình CSDL Ehou

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (191.81 KB, 57 trang )

Kiểu dữ liệu nào sau đây KHƠNG có trong SQL Server ?
Chọn một câu trả lời:
a. Nvarchar
b. Char
c. Text
d. Bool

Phản hồi
Đáp án đúng là: Bool
Tham khảo: Tài liệu hướng dẫn học bài I
Kiểu dữ liệu nào sau đây KHƠNG có trong SQL Server ?
Chọn một câu trả lời:
a. Text

b. Bool

c. Char

d. Nvarchar

Phản hồi
Đáp án đúng là: Bool
Tham khảo: Tài liệu hướng dẫn học bài I
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ử?
Chọn một câu trả lời:
a. Enterprise Edition

b. Express Edition



c. Standard Edition

d. Workgroup Edition

Phản hồi
Đáp án đúng là: Standard Edition
Tham khảo: Tài liệu hướng dẫn học bài I
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?
Chọn một câu trả lời:
a. OLE DB

b. Net-Library

c. ODBC

d. Kết nối mạng trên Server

Phản hồi
Đáp án đúng là: ODBC
Tham khảo: Tài liệu hướng dẫn học bài I
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?
Chọn một câu trả lời:
a. Books Online

b. SQL Server Management Studio

c. SQL Server Configuration Manager


Phản hồi


Đáp án đúng là: SQL Server Management Studio
Tham khảo: Tài liệu hướng dẫn học bài I
Phiên bản Personal của SQL Server có thể cài đặt?
Chọn một câu trả lời:
a. Windows Server 2000
b. Trên hầu hết các phiên bản của windows, kể cả Windows 98.

c. Windows XP
d. Windows 98

Phản hồi
Đáp án đúng là: Trên hầu hết các phiên bản của windows, kể cả Windows 98.
Tham khảo: Tài liệu hướng dẫn học bài I
Có thể đặt mấy cột trong bảng làm khóa chính?
Chọn một câu trả lời:
a. Trên 2 cột bất kỳ
b. Trên 1 cột bất kỳ
c. Trên nhiều cột
d. Chỉ trên cột ID

Phản hồi
Đáp án đúng là: Trên nhiều cột
Tham khảo: Tài liệu hướng dẫn học bài I
Thuộc tính nào sau đây khơng dùng để cấu hình cơ sở dữ liệu SQL Server?
Chọn một câu trả lời:
a. Auto Read
b. Read Only

c. Auto Shink
d. Restrict Access


Phản hồi
Đáp án đúng là: Auto Read
Tham khảo: Tài liệu hướng dẫn học bài I
Dịch vụ chuyển đổi dữ liệu DTS của SQL Server thực hiện chức năng gì?
Chọn một câu trả lời:
a. Chuyển dữ liệu giữa các Server

b. Tra cứu dữ liệu

c. Tìm kiếm

d. Nhân bản dữ liệu

Phản hồi
Đáp án đúng là: Chuyển dữ liệu giữa các Server
Tham khảo: Tài liệu hướng dẫn học bài I
Cơ sở dữ liệu hệ thống Msdb dùng để?
Chọn một câu trả lời:
a. Hoạch định các báo động và công việc cần làm (schedule alerts and jobs)

b. Lưu trữ các thông tin cấp hệ thống

c. Lưu trữ các table và stored proceduce trong quá trình làm việc

d. Lưu trữ các system objects


Phản hồi
Đáp án đúng là: Hoạch định các báo động và công việc cần làm (schedule alerts and jobs)
Tham khảo: Tài liệu hướng dẫn học bài I
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?
Chọn một câu trả lời:


a. Model
b. Tempdb
c. Msdb
d. Master

Phản hồi
Đáp án đúng là: Master
Tham khảo: Tài liệu hướng dẫn học bài I
Một cơ sở dữ liệu chứa ít nhất là?
Chọn một câu trả lời:
a. 1 file mdf, 1 file ndf và 1 file ldf
b. 1 file mdf
c. 1 file mdf và 1 file ldf
d. 1 file mdf và 1 file ndf

Phản hồi
Đáp án đúng là: 1 file mdf
Thành phần nào sau đây thuộc phía Server trong mơ hình Client – Server?
Chọn một câu trả lời:
a. DB Library Application
b. Network
c. OLE DB Application
d. Database


Phản hồi
Đáp án đúng là: Database Tham khảo: Tài liệu hướng dẫn học bài I.
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?
Chọn một câu trả lời:
a. 4 CPU và 2 GB RAM


b. 64 CPUs và 128 GB RAM
c. 32 CPUs và 64 GB RAM
d. 16 CPUs và 32 GB RAM

Phản hồi
Đáp án đúng là: 32 CPUs và 64 GB RAM
Tham khảo: Tài liệu hướng dẫn học bài I
Câu trả lời đúng là:
Câu lệnh nào không được phép dùng trong khối lệnh T-SQL?
Chọn một câu trả lời:
a. Delete
b. Select colum1, column2,...
c. Update
d. Create

Phản hồi
Đáp án đúng là: Create
Độ lớn của một cột kiểu CHAR?
Chọn một câu trả lời:
a. 4 bytes
b. 2 bytes

c. 1 byte
d. 8 bytes

Phản hồi
Đáp án đúng là: 1 byte
Một cột kiểu NCHAR(25) chiếm dung lượng là?
Chọn một câu trả lời:
a. 25 byte
b. 50 byte


c. 2 byte
d. 100 byte

Phản hồi
Đáp án đúng là: 50 byte

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à:
Chọn một câu trả lời:
a. 34500

b. 34567.22

c. 34567.23

d. 34600

Phản hồi
Đáp án đúng là: 34567.23

Các hàm nào không thể sử dụng với kiểu dữ liệu xâu?
Chọn một câu trả lời:
a. COUNT()
b. MIN() và MAX()
c. SUM() và AVG()
d.Các đáp án đều sai

Phản hồi
Đáp án đúng là: SUM() và AVG()
Câu lệnh nào được phép dùng trong khối lệnh T-SQL?
Chọn một câu trả lời:


a. DROP TABLE

b. CREATE VIEW

c. DELETE

d. ALTER TABLE

Phản hồi
Đáp án đúng là: DELETE
Declare
@a int = 5,
@b int = null,
@c int = 10
Begin
if @a > @b AND @a < @c set @a=@c*@a
select @a

End
Giá trị của a sẽ là?
Chọn một câu trả lời:
a. 50
b. Null
c. 5
d. Tất cả các đáp án đều sai

Phản hồi
Đáp án đúng là: 5
Cho T-SQL block sau, dòng nào gây ra lỗi?
1. DECLARE
2. @V_DEPTNO INT
3. BEGIN
4. SET @V_DEPTNO = 20
5. SELECT ENAME, SALARY


FROM EMP WHERE DEPTNO = @V_DEPTNO
6. END
Chọn một câu trả lời:
a. Dịng 2
b. Dịng 4
c. Dịng 5
d. Khơng có dịng nào gây lỗi.

Phản hồi
Đáp án đúng là: Khơng có dịng nào gây lỗi.
Một câu lệnh IF… …ELSIF có thể có mấy mệnh đề ELSE?
0 64 1

Chọn một câu trả lời:
a. 64
b. 0 1
c. 1
d. Không giới hạn

Phản hồi
Đáp án đúng là: Khơng giới hạn
@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'
ELSE
IF @V_PRICE > 900
Set @V_GRADE = 'B'
ELSE
IF @V_PRICE > 800 Set
@V_GRADE = 'C'
ELSE
IF @V_PRICE > 600 Set
@V_GRADE = 'D'
ELSE Set
@V_GRADE = 'E'


Chọn một câu trả lời:
a. @V_PRICE trong khoảng 801 và 900 V_PRICE lớn hơn 1000
b. @V_PRICE lớn hơn 1000

c. @V_PRICE trong khoảng 601 và 800 V_PRICE lớn hơn 800


d. @V_PRICE lớn hơn 800

Phản hồi
Đáp án đúng là: @V_PRICE trong khoảng 801 và 900
Cho đoạn lệnh:
declare @IX int =100
while (@IX <=110)
begin print @IX
if @IX=105 break
set @IX = @IX +1
END
Mấy dòng dữ liệu được in ra
Chọn một câu trả lời:
a. 6
b. 1
c. 0
d. 5

Phản hồi
Đáp án đúng là: 6
Hàm nào trong SQL Server trả về ngày hiện tại của hệ thống?
Chọn một câu trả lời:
a. Getdate()

b. Date()


c. now()

d. currentdate()


Phản hồi
Đáp án đúng là: Getdate()
Điều gì làm cho vòng lặp WHILE ngừng lặp?
Chọn một câu trả lời:
a. Khi điều kiện được đánh giá là TRUE

b. Khi điều kiện được đánh giá là FALSE

c. Câu lệnh EXIT luôn ln được sử dụng để kết thúc vịng lặp.

d. Khi điều kiện được đánh giá là NULL

Phản hồi
Đáp án đúng là: Khi điều kiện được đánh giá là FALSE
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ự đó:
Chọn một câu trả lời:
a. Create procedure prcDispName @cValue char(1)asDeclare @temp char(2)Select @temp=@cValue+ ’%’
Select * from titles Where title like @temp
b. Create procedure prcDispName @cValue char(1)asSelect * from titles Where title like @cValue%.
c. Create procedure prcDispNameasDeclare @temp char(2)Select @temp=’A%’Select * from titles Where
title like @temp
d. Create procedure prcDispName@cValue char(1)asSelect * from titles Where title like ’@cValue%’

Phản hồi
Đáp án đúng là: Create procedure prcDispName@cValue char(1)asSelect * from titles Where title like
’@cValue%’
Tham khảo: Tài liệu hướng dẫn học



Kết quả của đoạn T-SQL sau sẽ như thế nào?
DECLARE
@X VARCHAR(10) = 'TITL',
@Y VARCHAR(10) = 'TITLE'
BEGIN
IF @X >= @Y
print('X is greater')
IF @Y >= @X
print('Y is greater')
END
Chọn một câu trả lời:
a. “X is greater”
b. Khơng in ra gì cả
c. Cả “X is greater” và “Y is greater”
d. “Y is greater”

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)
As
BEGIN
Select sTenSP
From tblSANPHAM as A, tblCTHOADON as B, tblHOADON as C
Where dNgayLap = @d and A.sMaSP = B.sMaSP and B.sMaHD = C.sMaHD
END
Chọn một câu trả lời:
a. 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

b. Cho biết tên sản phẩm đã được khách hàng thực hiện mua hàng


c. 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
d. 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

Phản hồi
Đáp án đúng là: 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 hai bảng
tblHOADON(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
Chọn một câu trả lời:
a. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar(9) @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
b. CREATE TRIGGER themCTHD

ON tblHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar(9) @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
c. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin


Update tblHOADON
Set TongTien = TongTien + iSL * fDG
Where sMaHD = @soHD
End
d. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Update tblHOADON
Set TongTien = TongTien + iSL * fDG
End


Phản hồi
Đáp án đúng là: CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar(9) @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
:
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?
Chọn một câu trả lời:
a. GRANT UPDATE
ON NHANVIEN( hoten, diachi, luong)
b. GRANT SELECT
ON NHANVIEN
TO db_user1
c. GRANT SELECT, UPDATE
ON NHANVIEN
TO db_user1


d. GRANT SELECT, UPDATE
ON NHANVIEN( hoten, diachi, luong)

TO db_user1

Phản hồi
Đáp án đúng là: GRANT SELECT, UPDATE
ON NHANVIEN( hoten, diachi, luong)
TO db_user1
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 5 – Phần Attach và Import
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ì?
Chọn một câu trả lời:
a. REVOKE SELECT, UPDATE
ON NHANVIEN( HoTen, HSL )
FROM db_user1
REVOKE SELECT, UPDATE
ON PHONGBAN( TenPB )
FROM db_user1
b. REVOKE SELECT, UPDATE
ON NHANVIEN
FROM db_user1
REVOKE SELECT, UPDATE
ON PHONGBAN
FROM db_user1
c. REVOKE SELECT, UPDATE
ON NHANVIEN( HoTen, HSL )
FROM db_user1
d. REVOKE SELECT, UPDATE
ON PHONGBAN

FROM db_user1


Phản hồi
Đáp án đúng là:
REVOKE SELECT, UPDATE
ON NHANVIEN( HoTen, HSL )
FROM db_user1
REVOKE SELECT, UPDATE
ON PHONGBAN( TenPB )
FROM db_user1
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 5 – Phần Attach và Import
Câu lệnh sau thực hiện công việc gì?
DENY SELECT, INSERT, UPDATE
ON TacGia
TO db_user1, db_user2
Chọn một câu trả lời:
a. 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
b. 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
c. 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
d. 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

Phản hồi
Đáp án đúng là: 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
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 5 – Phần Attach và Import
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, UPDATE
ON NHANVIEN( HoTen, HSL )
FROM db_user1


REVOKE SELECT, UPDATE
ON PHONGBAN( TenPB )
FROM db_user1
Chọn một câu trả lời:
a. Select HoTen, HSL, TenPB, GioiTinh
From NHANVIEN, PHONGBAN
Where NHANVIEN.MaPB = PHONGBAN.MaPB
b. Select HoTen, HSL, TenPB
From NHANVIEN, PHONGBAN
Where NHANVIEN.MaPB = PHONGBAN.MaPB
Update NHANVIEN
Set HSL = HSL + 1
Where GioiTinh = N’Nữ”
c. Delete from NHANVIEN
Where GioiTinh = N’Giới tính”
d. Select HoTen, HSL, TenPB
From NHANVIEN, PHONGBAN
Where NHANVIEN.MaPB = PHONGBAN.MaPB
Update NHANVIEN
Set PC = PC + 1
Where GioiTinh = N’Nữ”

Phản hồi
Đáp án đúng là:.
Select HoTen, HSL, TenPB

From NHANVIEN, PHONGBAN
Where NHANVIEN.MaPB = PHONGBAN.MaPB
Update NHANVIEN
Set HSL = HSL + 1
Where GioiTinh = N’Nữ”
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 5 – Phần Attach và Import


Để liên kết đến server khác có những cách nào?
Chọn một câu trả lời:
a. Sử dụng câu lệnh truy vấn

b. Sử dụng câu lệnh truy vấn Thông qua của sổ Management Studio

c. Tất cả các phương pháp đều đúng

Phản hồi
Đáp án đúng là: Tất cả các phương pháp đều đúng
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 6 – Phân tán
Cú pháp để truy xuất đến một bảng của CSDL khác năm khác Server là:
Chọn một câu trả lời:
a. [DatabaseName][.owner][.tableName] [.ServerName]

b. [ServerName][.DatabaseName][.owner][.tableName]

c. [ServerName][.tableName]

d. [ServerName][.owner][.tableName]

Phản hồi

Đáp án đúng là:. [ServerName][.DatabaseName][.owner][.tableName]
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 6 – Phân tán
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à:
Chọn một câu trả lời:
a. SELECT *
FROM QuanlyKH.dbo.KhachHang


b. SELECT *
FROM Server2.QuanlyKH.dbo.KhachHang
c. SELECT *
FROM KhachHang
d. SELECT *
FROM Server2. KhachHang

Phản hồi
Đáp án đúng là:. SELECT *
FROM Server2.QuanlyKH.dbo.KhachHang
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 6 – Phân tán
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).
Chọn một câu trả lời:
a. Phân mảnh dọc

b. Không phải các phương pháp này

c. Phân mảnh hỗ hợp

d. Phân mảnh ngang


Phản hồi
Đáp án đúng là: Phân mảnh ngang
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 6 – Phân tán
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
Câ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 DSNV
as
begin
Select tblNV.MaNV, Hoten, GioiTinh, DiaChi, DienThoai, Email
From tblNV, Server1.QLGV.dbo.tblNV
Where
…..
end
Chọn một câu trả lời:
a. MaNV = tblNV.MaNV

b. tblNV.MaNV = QLGV.dbo.tblNV.MaNV

c. tblNV.MaNV = Server1. tblNV.MaNV

d. tblNV.MaNV = Server1.QLGV.dbo.tblNV.MaNV

Phản hồi
Đáp án đúng là: tblNV.MaNV = Server1.QLGV.dbo.tblNV.MaNV
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 6 – Phân tán

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?
Chọn một câu trả lời:
a. 192.168.11.25

b. 195.168.10.25

c. 192.168.10.40


d. 192.169.10.25

Phản hồi
Đáp án đúng là: 192.168.10.40
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)
As
BEGIN
Select sTenSP
From tblSANPHAM
Where fDonGia > @a and sXuatSu = @xs
END
Chọn một câu trả lời:
a. 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

b. 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
c. 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


d. 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

Phản hồi
Đáp án đúng là: 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 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
Chọn một câu trả lời:


a. Tất cả các phương án đều đúng
b. CREATE TRIGGER UpdateMaPhong
ON PHONGBAN
FOR UPDATE
AS
BEGIN
IF UPDATE( MaPhong )
BEGIN
DECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)
SELECT @MaPhgCu = MaPB FROM DELETED
SELECT @MaPhgMoi = MaPB FROM INSERTED
If ( EXISTS (select MaPB from DUAN Where MaPB = @MaPhgCu) )
UPDATE DUAN set MaPB = @MaPhgMoi
WHERE MaPB = @MaPhgCu
END
END

c. CREATE TRIGGER UpdateMaPhong
ON PHONGBAN
FOR UPDATE
AS
BEGIN
IF UPDATE( MaPhong )
BEGIN
DECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)
SELECT @MaPhgCu = MaPB FROM DELETED
SELECT @MaPhgMoi = MaPB FROM INSERTED
If ( EXISTS (select MaPB from NHANVIEN Where MaPB= @MaPhgCu) )
UPDATE NHANVIEN SET MaPB = @MaPhgMoi
WHERE MaPB = @MaPhgCu
END
END
d. CREATE TRIGGER UpdateMaPhong
ON PHONGBAN
FOR UPDATE
AS
BEGIN
IF UPDATE( MaPhong )
BEGIN
DECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)
SELECT @MaPhgCu = MaPB FROM DELETED
SELECT @MaPhgMoi = MaPB FROM INSERTED
If ( EXISTS (select MaPB from NHANVIEN Where MaPB= @MaPhgCu) )
UPDATE NHANVIEN SET MaPB = @MaPhgMoi
WHERE MaPB = @MaPhgCu
If ( EXISTS (select MaPB from DUAN Where MaPB = @MaPhgCu) )
UPDATE DUAN set MaPB = @MaPhgMoi

WHERE MaPB = @MaPhgCu


END
END

Phản hồi
Đáp án đúng là:.
CREATE TRIGGER UpdateMaPhong
ON PHONGBAN
FOR UPDATE
AS
BEGIN
IF UPDATE( MaPhong )
BEGIN
DECLARE @MaPhgCu nvarchar(9), @MaPhgMoi nvarchar(9)
SELECT @MaPhgCu = MaPB FROM DELETED
SELECT @MaPhgMoi = MaPB FROM INSERTED
If ( EXISTS (select MaPB from DUAN Where MaPB = @MaPhgCu) )
UPDATE DUAN set MaPB = @MaPhgMoi
WHERE MaPB = @MaPhgCu
END
END
Tham khảo: Slide bài giảng và tài liệu hướng dẫn học Bài 4 – phần Trigger
Cho hai bảng
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)
tblCTHOADON (sMaHD, sMaSP, iSL, fDG)
Đoạn trigger sau làm nhiệm vụ gì?
CREATE TRIGGER themCTHD
ON tblCTHOADON

Instead of Insert
As
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 = @soHD
End
Chọn một câu trả lời:
a. Mỗi khi lấy thơng tin từ bảng tblCTHOADON thì tự động tính tốn Tổng Tiền cho số hóa đơn tuonwg ứng

b. 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
c. 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
d. Mỗi khi xố 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 xố

Phản hồi
Đáp án đúng là: 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
Cho hai bảng
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)
tblCTHOADON (sMaHD, sMaSP, iSLM)
Để cho phép mỗi khi xố 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

Chọn một câu trả lời:
a. Update
b. Insert
c. Select
d. Delete

Phản hồi
Đáp án đúng là: Delete
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?
Chọn một câu trả lời:
a. Create trigger capnhat_MaSP
ON tblSanPham
After Update
Begin
Declare @maSPM nvarchar(10), @maSPC nvarchar(10)
Select @maSPM From inserted
Select @maSPC From deleted
Update tblCTHOADON
Set sMaSP = @maSPM
Where sMaSP = @maSPC
End
b. Create trigger capnhat_MaSP
ON tblSanPham

After Insert
Begin
Select @maSPM From inserted
Select @maSPC From deleted
Update tblCTHOADON
Set sMaSP = @maSPM
Where sMaSP = @maSPC
End
c. Create trigger capnhat_MaSP
ON tblSanPham
After Delete
Begin
Declare @maSPM nvarchar(10), @maSPC nvarchar(10)
Select @maSPM From inserted
Select @maSPC From deleted
Update tblCTHOADON
Set sMaSP = @maSPM
End
d. Create trigger capnhat_MaSP
ON tblSanPham
After Update
Begin
Select @maSPM From inserted
Select @maSPC From deleted
Update tblCTHOADON
Set sMaSP = @maSPM
Where sMaSP = @maSPC
End

Phản hồi

Đáp án đúng là: Create trigger capnhat_MaSP
ON tblSanPham


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×