Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
hoi ve function cua sql?
datebase
USE MASTER
GO
IF EXISTS (SELECT NAME FROM SYS.DATABASES WHERE NAME='TH2')
DROP DATABASE TH2
GO
CREATE DATABASE TH2
ON(NAME='KS_DATA',FILENAME='D:\HUTECH\SQL\TH2.MDF')
LOG ON(NAME='KS_LOG',FILENAME='D:\HUTECH\SQL\TH2.LDF')
GO
USE TH2
GO
CREATE TABLE KHACHHANG
(
MAKH NVARCHAR(5) CONSTRAINT PK_KH PRIMARY KEY (MAKH),
TENKH NVARCHAR(30)NOT NULL,
DIACHI NVARCHAR(50),
DT NVARCHAR(10) CHECK( DT LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
OR DT LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'OR DT LIKE ' '),
EMAIL NVARCHAR(30)
)
GO
CREATE TABLE VATTU
(
MAVT NVARCHAR(5) CONSTRAINT PK_VT PRIMARY KEY (MAVT),
TENVT NVARCHAR(30)NOT NULL,
DVT NVARCHAR(20),
GIAMUA NUMERIC(20) CHECK (GIAMUA>0),
SLTON NUMERIC (20) CHECK (SLTON>0)
)
GO
CREATE TABLE HOADON
(
MAHD NVARCHAR(10) CONSTRAINT PK_HD PRIMARY KEY (MAHD),
NGAY DATETIME CHECK (NGAY<=GETDATE()),
MAKH NVARCHAR(5)CONSTRAINT FRK_HD FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH),
TONGGIA NUMERIC(20)
)
GO
CREATE TABLE CHITIETHOADON
(
MAHD NVARCHAR(10)CONSTRAINT FRK_CTHD FOREIGN KEY (MAHD) REFERENCES HOADON(MAHD),
MAVT NVARCHAR(5) CONSTRAINT FRK_CTHD1 FOREIGN KEY (MAVT) REFERENCES VATTU(MAVT),
CONSTRAINT PK_CTHD PRIMARY KEY (MAHD,MAVT),
SL NUMERIC(20) CHECK (SL>0),
KHUYENMAI(%) NUMERIC(20),
GIABAN NUMERIC(20)
)
GO
Câu hỏi là:viết hàm function tính tổng số lượng bán được cho từng mặt hàng theo thang và gtri truyền vào la mặt hàng và tháng , nếu tháng không nhập thì tinh tất cả các tháng??//
minh làm vậy không biết đúng khong mà không chạy
CREATE FUNCTION FN_TONG_BAN_DC_CC_MH(@MAVT NVARCHAR(5),@THANG CHAR(3))
RETURNS INT
AS
BEGIN
DECLARE @T1 INT,@T2 INT ,@S INT
SET @S =0
IF NOT EXISTS(SELECT MAVT,NGAY FROM HOADON, CHITIETHOADON
WHERE HOADON.MAHD = CHITIETHOADON.MAHD AND MAVT =@MAVT AND CAST(MONTH(NGAY) AS CHAR) =@THANG)
RETURN @S
ELSE
BEGIN
IF (@THANG =' ')
BEGIN
SELECT @T1 = SUM(SL) FROM HOADON, CHITIETHOADON
WHERE HOADON.MAHD = CHITIETHOADON.MAHD AND MAVT =@MAVT
GROUP BY MAVT
RETURN @T1
END
ELSE
BEGIN
SELECT @T2 = SUM(SL) FROM HOADON, CHITIETHOADON
WHERE HOADON.MAHD = CHITIETHOADON.MAHD AND MAVT =@MAVT AND CAST(MONTH(NGAY) AS CHAR) =@THANG
GROUP BY MAVT
RETURN @T2
END
END
END
1 Antwort
- vor 8 Jahren
Ban viet code kieu nay thi ai ma doc. Toi nghi ban nen dung gach duoi ( _ ) o dua 2 tu cho de doc hon. Thu 2, ban nen viet keywords dang khac voi ten table va columns. Vi du:
SELECT * FROM khach_hang WHERE ten_khach_hang = 'HO VA TEN'