Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

PROCEDURE (Thủ tục lưu trữ) trong SQL Server

Mô tả

Stored Procedure (Thủ tục lưu trữ) là tập hợp câu lệnh SQL được lưu trong database để tái sử dụng. Có tham số đầu vào/ra (OUTPUT), không trả về giá trị như function mà trả về trạng thái thành công/thất bại.

Tạo Procedure (CREATE PROCEDURE)

CREATE {PROCEDURE | PROC} [schema_name.] ten_thu_tuc
[@tham_so [schema_kieu.] kieu_du_lieu [VARYING] [= mac_dinh] [OUT | OUTPUT | READONLY], ...]
[WITH {ENCRYPTION | RECOMPILE | EXECUTE AS Clause}]
[FOR REPLICATION]
AS
BEGIN
    -- khai báo
    -- phần thực thi
END;

Tham số chính:

  • schema_name: Schema sở hữu.
  • ten_thu_tuc: Tên procedure.
  • @tham_so: Tham số (IN/OUT/OUTPUT/READONLY).
  • OUT/OUTPUT: Tham số đầu ra.
  • READONLY: Không ghi đè trong proc.
  • ENCRYPTION: Mã hóa mã nguồn.
  • RECOMPILE: Không cache plan.
  • FOR REPLICATION: Chỉ chạy trong replication.

Ví dụ

CREATE PROCEDURE spNhanvien
@nhanvien_name VARCHAR(50) OUT
AS
BEGIN
    DECLARE @nhanvien_id INT = 8;

    IF @nhanvien_id < 10
        SET @nhanvien_name = 'Smith';
    ELSE
        SET @nhanvien_name = 'Lawrence';
END;

Thực thi Procedure

USE [test];
GO
DECLARE @site_name VARCHAR(50);
EXEC spNhanvien @site_name OUT;
PRINT @site_name;
GO

Xóa Procedure (DROP PROCEDURE)

DROP PROCEDURE ten_thu_tuc;
DROP PROCEDURE spNhanvien;