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
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,883
    Đã được thích:
    1,193
    Đ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

  2. diendankinhtevn
    Tham gia ngày:
    16/2/14
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    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
    Tham gia ngày:
    3/6/13
    Bài viết:
    62
    Đã đượ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.
     
  4. lyanh998
    Tham gia ngày:
    11/10/18
    Bài viết:
    20
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nữ
    cảm ơn bài viết hay mình mới tìm được
     


Chủ để tương tự : Hướng dẫn
Diễn đàn Tiêu đề Date
Kiến thức lập trình SQL & MySQL Hướng dẫn generate script backup file .sql tất cả databases sql server 2014 15/4/17
Kiến thức lập trình SQL & MySQL Hướng dẫn viết một stored procedure 13/2/14
Kiến thức lập trình SQL & MySQL Cách convert datetime dạng dd/MM/YYYY hh:mm:ss trong SQL server 21/11/17
Kiến thức lập trình SQL & MySQL Tự Học Sql Server. Hãy Dành 10 Phút Mỗi Ngày, Bạn Sẽ Thành Công Với Sql 6/4/16