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

Bewertung
  • 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'

Haben Sie noch Fragen? Jetzt beantworten lassen.