Trong SQL Server, Procedure (tên đầy đủ là Stored Procedure) là một tập hợp các câu lệnh SQL được lưu trữ trong cơ sở dữ liệu để thực hiện một tác vụ cụ thể. Bạn có thể hiểu nôm na nó giống như một hàm hoặc đoạn chương trình có thể tái sử dụng nhiều lần.
CREATE PROCEDURE TenThuTuc
@ThamSo1 KieuDuLieu,
@ThamSo2 KieuDuLieu = GiaTriMacDinh, -- (nếu có)
@ThamSo3 KieuDuLieu OUTPUT -- (nếu có đầu ra)
AS
BEGIN
-- Các câu lệnh SQL ở đây
END
** Chỉ trả về in ra xem kết quả
CREATE PROCEDURE [dbo].[pr_TEST_1]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Declare @kq int
set @kq=1
-- tính toán xử lý biến @kq
Select @kq
END
Declare @kq int
Exec @kq=[dbo].[pr_TEST_2]
select @kq
-- Tính ứng dụng: dùng để tính toán trả về giá trị nào đó
CREATE PROCEDURE [dbo].[pr_TEST_2]
AS
BEGIN
SET NOCOUNT ON;
Select * From tbKhuVuc
END
-- Sử dụng PROCEDURE đã viết
Exec pr_TEST_2
CREATE PROCEDURE [dbo].[pr_TEST_3]
AS
BEGIN
SET NOCOUNT ON;
Declare @temp TABLE
(
TT int
, cmd nvarchar(150)
)
Insert @temp values
(
1
, 'khachhang'
)
Select * From @temp
END
-- Sử dụng PROCEDURE đã viết
Exec pr_TEST_3
ALTER PROCEDURE [dbo].[pr_TEST_4]
@ten nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
Select * From tbBangGia Where Ten=@ten
END
-- Sử dụng PROCEDURE đã viết
Exec pr_TEST_4 N'Ngoài trời'
CREATE PROCEDURE [dbo].[pr_TEST_5]
@ts01 nvarchar(50) output
, @ts02 nvarchar(50) output
AS
BEGIN
SET NOCOUNT ON;
set @ts02='123456789'
Select * From tbBangGia Where Hidden=0 Order by Ma
END
-- Sử dụng PROCEDURE đã viết
DECLARE @t01 NVARCHAR(50)
DECLARE @t02 NVARCHAR(50)
set @t01='123'
EXEC [dbo].[pr_TEST_5] @t01, @t02 OUTPUT
Select @t02 as 'TS02'
Trả về 2 datatable từ C# có thể lấy để sử dụng
Ví dụ từ A-Z cách tạo thủ tục trong SQL Server ứng dụng siêu hay khi làm phần mềm