Xin hướng dẫn gọi function trong store procedure

Dành cho người mới làm quen với Oracle.
Post Fri Jun 09, 2017 11:45 pm
WELcome to ORAVN!!

dqhung2107

Thành viên ORAVN
Thành viên ORAVN
Posts: 1
Joined: Wed May 24, 2017 7:47 am

Xin hướng dẫn gọi function trong store procedure

Mình có Function F1 có 2 tham số vào là: tên sản phẩm, năm. Function cho biết: số lượng xuất kho của tên sản phẩm này trong năm này

CREATE OR REPLACE FUNCTION F1(TEN SANPHAM.TENSP%TYPE, NAM NUMBER)
RETURN NUMBER
AS
TONG NUMBER;
DEM NUMBER;
BEGIN
SELECT COUNT(TENSP)INTO DEM FROM SANPHAM WHERE TENSP = TEN;
IF(DEM <> 0)
THEN
SELECT SUM(SOLUONG) INTO TONG
FROM SANPHAM S, CHITIETPHIEUXUAT C, PHIEUXUAT P
WHERE S.MASP = C.MASP AND C.MAPX = P.MAPX
AND TENSP LIKE TEN
AND EXTRACT (YEAR FROM NGAYLAP) = NAM;
ELSE
TONG:=0;
END IF;
RETURN TONG;
END;


Giờ mình tạo procedure tên là P1 cho có 2 tham số sau:
• 1 tham số nhận vào là: tên sản phẩm.
• 1 tham số trả về cho biết: tổng số lượng xuất kho của tên sản phẩm này trong năm 2016 ( sử dụng Function F1 để thực hiện)

--Ai giúp mình với ạ--






Post Sat Jun 10, 2017 12:20 am
User avatar

nhsang

Administrator
Administrator
Posts: 3693
Joined: Mon Jul 16, 2007 1:38 pm
Location: Sài Gòn

Re: Xin hướng dẫn gọi function trong store procedure

Dùng IN OUT parameters:

CREATE [OR REPLACE] PROCEDURE p2 (TEN IN SANPHAM.TENSP%TYPE, TONG OUT NUMBER)
AS
BEGIN
TONG := F1( ... , ... ) ;
END
/




Nguyễn Hoàng Sang
sangnh.oravn@gmail.com



Return to Nhập môn Oracle

Who is online

Users browsing this forum: Yandex [Bot] and 0 guests

Youtube Channel
cron