Как создать и вызвать хранимую процедуру в SQL?

Опубликовано: 1 Сентября, 2022

В этой статье мы узнаем, как создать и вызвать хранимую процедуру в SQL. В этой статье мы будем использовать MSSQL в качестве сервера базы данных.

Что такое хранимая процедура?

Хранимая процедура — это предварительно написанный SQL-запрос, который можно вызывать несколько раз и который будет выполняться одинаково. Например, мы можем создать хранимую процедуру для вставки, выбора, обновления в базе данных SQL. Мы также можем передавать параметры хранимым процедурам. Итак, сначала мы создадим базу данных:

Шаг 1: Создание базы данных

Запрос:

CREATE DATABASE GFG

Шаг 2: Использование базы данных

Запрос:

USE GFG

Шаг 3: Создайте таблицу

Запрос:

CREATE TABLE gfgTutorial(
id integer,
Name varchar(20)
)

Шаг 4: Опишите таблицу

Запрос:

sp_help "dbo.gfgTutorial"

Выход:

Шаг 5: Вставьте некоторые данные в таблицу

Запрос:

INSERT INTO [dbo].[gfgTutorial]
           ([id]
           ,[Name])
     VALUES
           (1, "Devesh")
GO

INSERT INTO [dbo].[gfgTutorial]
           ([id]
           ,[Name])
     VALUES
           (2, "Geeks")
GO

INSERT INTO [dbo].[gfgTutorial]
           ([id]
           ,[Name])
     VALUES
           (3, "For")
GO

INSERT INTO [dbo].[gfgTutorial]
           ([id]
           ,[Name])
     VALUES
           (4, "Geeks")
GO

INSERT INTO [dbo].[gfgTutorial]E
           ([id]
           ,[Name])
     VALUES
           (5, "GFG")
GO

Шаг 6. Создайте хранимую процедуру для выбора всех строк из таблицы.

Запрос:

CREATE PROCEDURE select_all_data
AS
SELECT * FROM gfgTutorial
GO;

Выход:

Выполнить хранимую процедуру select_all_data

Запрос:

EXEC select_all_data

Выход:

Теперь мы увидели, как создать базовую хранимую процедуру, теперь давайте посмотрим, как создать параметризованную хранимую процедуру.

Шаг 1. Создайте параметризованную хранимую процедуру для вставки данных в таблицу.

Запрос:

CREATE PROCEDURE insertData
@Name varchar(30), @id varchar(30)
AS
INSERT INTO gfgTutorial VALUES(@id, @Name)
GO

Шаг 2. Выполните хранимую процедуру

Запрос:

EXEC insertData @Name = "Inserted Name", @id = 6

Проверьте, вставлены данные или нет.