Thi TH

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

C:\Users\dungc\Downloads\22520287­Thi thử.

sql 1
CREATE DATABASE QUANLYCAYCANH
GO

USE DATABASE QUANLYCAYCANH


GO

SET DATEFORMAT DMY;

CREATE TABLE KHACHHANG


(
MAKH CHAR(4),
TENKH VARCHAR(40),
DIACHI VARCHAR(40),
LOAIKH VARCHAR(40),
CONSTRAINT PK_KHACHHANG PRIMARY KEY (MAKH)
)

CREATE TABLE LOAICAY


(
MALC CHAR(4),
TENLC VARCHAR(40),
XUATXU VARCHAR(40),
GIA MONEY,
CONSTRAINT PK_LOAICAY PRIMARY KEY (MALC)
)

CREATE TABLE HOADON


(
SOHD VARCHAR(5),
NGHD SMALLDATETIME,
MAKH CHAR(4),
KHUYENMAI INT,
CONSTRAINT PK_HOADON PRIMARY KEY (SOHD)
)

CREATE TABLE CTHD


(
SOHD VARCHAR(5),
MALC CHAR(4),
SOLUONG INT,
CONSTRAINT PK_CTHD PRIMARY KEY (SOHD, MALC),
)

ALTER TABLE HOADON ADD CONSTRAINT FK_MAKH FOREIGN KEY (MAKH) REFERENCES KHACHHANG
(MAKH)
ALTER TABLE CTHD ADD CONSTRAINT FK_SOHD FOREIGN KEY (SOHD) REFERENCES HOADON (SOHD)
ALTER TABLE CTHD ADD CONSTRAINT FK_MALC FOREIGN KEY (MALC) REFERENCES LOAICAY (MALC)

ALTER TABLE HOADON DROP CONSTRAINT FK_MAKH


ALTER TABLE CTHD DROP CONSTRAINT FK_SOHD
ALTER TABLE CTHD DROP CONSTRAINT FK_MALC
ALTER TABLE KHACHHANG DROP CONSTRAINT PK_KHACHHANG
C:\Users\dungc\Downloads\22520287­Thi thử.sql 2
ALTER TABLE LOAICAY DROP CONSTRAINT PK_LOAICAY
ALTER TABLE HOADON DROP CONSTRAINT PK_HOADON
ALTER TABLE CTHD DROP CONSTRAINT PK_CTHD

DROP TABLE KHACHHANG


DROP TABLE LOAICAY
DROP TABLE HOADON
DROP TABLE CTHD

INSERT INTO KHACHHANG VALUES('KH01', 'Liz Kim Cuong', 'Ha Noi', 'Vang lai')
INSERT INTO KHACHHANG VALUES('KH02', 'Ivone Dieu Linh', 'Da Nang', 'Thuong xuyen')
INSERT INTO KHACHHANG VALUES('KH03', 'Emma Nhat Khanh', 'TP.HCM', 'Vang lai')

INSERT INTO LOAICAY VALUES('LC01', 'Xuong rong tai tho', 'Mexico', 180000)
INSERT INTO LOAICAY VALUES('LC02', 'Sen thach ngoc', 'Anh', 300000)
INSERT INTO LOAICAY VALUES('LC03', 'Ba mau rau', 'Nam Phi', 270000)

INSERT INTO HOADON VALUES('00001', '22/11/2017', 'KH01', 5)


INSERT INTO HOADON VALUES('00002', '04/12/2017', 'KH03', 5)
INSERT INTO HOADON VALUES('00003', '10/12/2017', 'KH02', 10)

INSERT INTO CTHD VALUES('00001', 'LC01', 1)


INSERT INTO CTHD VALUES('00001', 'LC02', 2)
INSERT INTO CTHD VALUES('00003', 'LC03', 5)

SELECT *
FROM HOADON
WHERE NGHD BETWEEN ('01/10/2017') AND ('31/12/2017')
ORDER BY KHUYENMAI ASC

SELECT *
FROM CTHD
WHERE SOLUONG = (SELECT MIN(SOLUONG) FROM CTHD)

CREATE TRIGGER TRG_LC_ANH ON LOAICAY


FOR INSERT
AS
BEGIN
DECLARE @MALC CHAR(4)
DECLARE @XUATXU VARCHAR(40)
DECLARE @GIA INT
SELECT @MALC = MALC FROM INSERTED
SELECT @XUATXU = XUATXU
FROM LOAICAY
WHERE MALC = @MALC
SELECT @GIA = GIA FROM INSERTED
PRINT @MALC
PRINT @XUATXU
PRINT @GIA
IF (@GIA >= 250000)
PRINT N'Mat hang xuat xu nay den tu Anh co gia lon hon 250000.'
ELSE
C:\Users\dungc\Downloads\22520287­Thi thử.sql 3
BEGIN
PRINT N'Khong thoa man yeu cau de bai.'
ROLLBACK TRANSACTION
END
END

CREATE TRIGGER TRG_CTHD_SL ON CTHD


FOR INSERT
AS
BEGIN
DECLARE @SOHD VARCHAR(5)
DECLARE @SOLUONG INT
DECLARE @MALC CHAR(4)
SELECT @SOHD = SOHD FROM INSERTED
SELECT @SOLUONG = SOLUONG FROM INSERTED
SELECT @MALC = MALC
FROM CTHD
WHERE SOHD = @SOHD
PRINT @SOHD
PRINT @SOLUONG
PRINT @MALC
IF (@SOLUONG >= 5)
PRINT 'Hoa don nay duoc giam gia 10 phan tram'
ELSE
BEGIN
PRINT 'Hoa don nay khong duoc giam gia 10 phan tram'
ROLLBACK TRANSACTION
END
END

DROP TRIGGER TRG_LC_ANH


DROP TRIGGER TRG_CTHD_SL

You might also like