13/11/2013

Select, Update, Insert, Delete dùng Store Procedure trong SQL Server 2008

Bài viết dưới đây, tôi dùng câu Store Procedure để biểu diễn các câu lệnh SQL nhằm thực thi các hành động cần thiết cho việc phát triển ứng dụng.
Ở đây, tôi dùng 1 Table có tên là EDU.LOPHOC có cấu trúc như sau:


CREATE TABLE [dbo].[EDU.LopHoc](
      [IDLop] [int] IDENTITY(1,1) NOT NULL,
      [MaLop] [nvarchar](20) NULL,
      [TenLop] [nvarchar](250) NULL,
      [IDCTK] [int] NULL,
      [NienKhoa] [nvarchar](9) NULL,
      [TrangThai] [bit] NULL,
 CONSTRAINT [PK_EDU.LopHoc] PRIMARY KEY CLUSTERED
(
      [IDLop] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON)ON [PRIMARY]
) ON [PRIMARY]

Bước 01: Tôi thêm các mẫu tin vào trong Table trên (tiện cho việc lọc dữ liệu).
Bước 02: Viết cú pháp Store Procedure để thực thi các hành động: SELECT, UPDATE, INSERT, DELETE

create proc ThucThi(
      @idlop int,
      @malop nvarchar(20),
      @tenlop nvarchar(250),
      @Idctk int,
      @nienkhoa nvarchar(9),
      @trangthai bit,
      @sql nvarchar(20)=''
      )
as Begin
      --Thuc thi cau lenh INSERT
      If @sql='insert' Begin
            Insert into [EDU.LopHoc](malop,tenlop,idctk,nienkhoa,trangthai)values(@malop,@tenlop,@idctk,@nienkhoa,@trangthai)
      End
      --Thuc thi cau lenh UPDATE
      If @sql='update' Begin
            Update [EDU.LopHoc] SET
            malop=@malop,
            tenlop=@tenlop,
            idctk=@idctk,
            nienkhoa=@nienkhoa,
            trangthai=@trangthai
            Where idlop=@idlop
      End
      --Thuc thi cau lenh DELETE
      If @sql='delete' Begin
            Delete FROM [EDU.Lophoc] where idlop=@idlop
      End
      --Thuc thi cau lenh SELECT
      If @sql='select' Begin
            Select * From [EDU.LopHoc] where idlop=@idlop
      End
End
Bước 03: Thực thi hành động trên bằng cách nhấn F5, hoặc theo hình bên dưới
truong-minh-tuan-sql-server-2008
Bước 04: Nhập nội dung và kiểm chứng
truong-minh-tuan-sql-server-2008
Rất mong các bạn học tập tốt với bài viết này.
Trương Minh Tuấn

1 comment: