Hướng dẫn cách tạo stored procedure chứa nhiều activity trong sql server

Thảo luận trong 'Kiến thức lập trình SQL & MySQL' bắt đầu bởi admin, 13/2/14.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    3,738
    Đã được thích:
    711
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Hướng dẫn cách tạo stored procedure chứa nhiều activity trong sql server 2005, 2008

    Ta có bảng table tên BangChuaSanPham với các sản phẩm như sau

    [TABLE="class: grid, width: 400"]

    MaSanPham
    TenSanPham

    MA1
    Dép

    MA2
    Áo

    MA3
    Quần
    [/TABLE]

    --Tạo 1 store như sau :

    create procedure [dbo].[TenStoreProcedure]
    @Activity nvarchar(30) = null, -- Hành động thực hiện khi gọi store
    @MaSanPham nvarchar(15) = null -- Mã sản phẩm được truyền vào khi thực thi câu lệnh
    as

    if(@Activity='LaySanPhamKhacMaTruenVao')
    begin
    select TenSanPham,MaSanPham from BangChuaSanPham where MaSanPham <> @MaSanPham -- lấy tất thông tin về tên sản phẩm, mã sản phẩm trong bảng BangChuaSanPham khi mã sản phẩm khác với mã sản phẩm được truyền vào.
    end
    else if(@Activity='LaySanPhamTheoMa')
    begin
    select TenSanPham,MaSanPham from BangChuaSanPham where MaSanPham = @MaSanPham -- lấy tất cả thông tin về tên sản phẩm, mã sản phẩm trong bảng BangChuaSanPham khi mã sản phẩm giống với mã sản phẩm truyền vào
    end

    Ý nghĩa: tạo 1 store tên TenStoreProcedure
    Trong store này thực hiện 2 lệnh
    - 1 là lấy tất cả thông tin các sản phẩm trong bảng BangChuaSanPham khi MaSanPham khác với mã sản phẩm được truyền vào.
    - 2 lấy thông tin sản phẩm của sản phẩm có mã giống với @MaSanPham truyền vào.

    Các gọi và thực thi store:
    Thực thi câu lệnh lấy tất cả thông tin sản phẩm khác với mã sản phẩm được truyền vào.
    exec TenStoreProcedure @Activity='LaySanPhamKhacMaTruenVao', @MaSanPham='MA1'
    Dữ liệu lấy được khi thực hiện câu lệnh trên:

    [TABLE="class: grid, width: 400"]

    MaSanPham
    TenSanPham

    MA2
    Áo

    MA3
    Quần
    [/TABLE]

    Thực hiện lệnh lấy tất cả thông tin sản phẩm giống với mã sản phẩm truyền vào.
    exec TenStoreProcedure @Activity='LaySanPhamTheoMa', @MaSanPham='SP1'
    Dữ liệu lấy được khi thực hiện câu lệnh trên:

    [TABLE="class: grid, width: 400"]

    MaSanPham
    TenSanPham

    MA1
    Dép
    [/TABLE]
     
    Cảm ơn đã xem bài:

    Hướng dẫn cách tạo stored procedure chứa nhiều activity trong sql server

    Đang tải...
  2. diendankinhtevn

    diendankinhtevn

    Vip Member

    Tham gia ngày:
    16/2/14
    Bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    0
    Cách bố trí store rất hay, nên học hỏi, giải thích rất chi tiết cảm ơn ad
     
  3. phamminhhieu

    phamminhhieu Thành Viên Mới

    Tham gia ngày:
    3/6/13
    Bài viết:
    69
    Đã được thích:
    1
    Điểm thành tích:
    0
    bài viết hay hơn cả mình nghĩ khi tìm kiếm, cảm ơn bác.
     


Like và Share ủng hộ ITSEOVN