Thủ tục có lệnh trả về Return

Một phần của tài liệu Bài giảng hệ quản trị cơ sở dữ liệu ths nguyễn thị thúy loan (Trang 69 - 70)

 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 tc có lnh 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 tc có lnh 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 tc có lnh 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 tc có lnh 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)) NI 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)

Một phần của tài liệu Bài giảng hệ quản trị cơ sở dữ liệu ths nguyễn thị thúy loan (Trang 69 - 70)

Tải bản đầy đủ (PDF)

(97 trang)