Thủtục với tham sốđầu vào Thủtục với tham sốđầu ra Thủtục có lệnh trảvềReturn Sửdụng bảng tạm trong thủtục
Tham sốcursor bên trong thủtục
Giao tác (Tracsaction)
Nguyễn ThịThúy Loan Trang 275 2/12/2011
Thủ tục có lệnh trả về Return
Return không có giá trị chỉ định thì thủ tục sẽ
trảvềgiá trịlà không (0).
Return [Số_nguyên]
Nguyễn ThịThúy Loan Trang 276 2/12/2011
Thủ tục có lệnh trả về Return
Ví dụ: Tạo thủ tục tính tổng số lượng đặt hàng của một mặt hàng đối với một nhà cung cấp chỉ định, kiểm tra xem giá trị của mặt hàng và mã nhà cung cấp mà người dùng truyền vào thủ tục có đúng hay không? Qui định thủ tục trảvề1 khi mã mặt hàng không tồn tại, trảvề2 khi mã nhà cung cấp không tồn tại.
Thủ tục có lệnh trả về Return
create proc p_tgsldat @mancc char(10), @mamh char(10), @tgsldat int output As if not exists(select * from mh
where mamh = @mamh); return 1 if not exists(select * from mh where mancc = @mancc); return 2 select @tgsldat = sum(ctdh.sld) from ctdh, ddh, mh
where ddh.madh = ctdh.madh and
mancc = @mancc and mh.mamh = @mamh if @tgsldat is null set @tgsldat=0
return Nguyễn ThịThúy Loan Trang 278 2/12/2011
Thủ tục có lệnh trả về Return
Gọi thực hiện thủtục:
declare @tgsld int, @ketqua int exec @ketqua = p_tgsldat 'Cty a', 'gao',
@tgsldat = @tgsld output if @ketqua =1
Print N'Mã mặt hàng không hợp lệ‘ else if @ketqua=2
Print N'Mã nhà cung cấp không hợp lệ‘ else Print N'Tổng số lượng đặt là: ' +
cast(@tgsld as char(10)) NỘI DUNG Khái niệm Thủtục Thủtục với tham sốđầu vào Thủtục với tham sốđầu ra Thủtục có lệnh trảvềReturn Sửdụng bảng tạm trong thủtục Tham sốcursor bên trong thủtục
Giao tác (Tracsaction)