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

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

Хранимая процедура — это набор операторов (T-SQL), необходимых в тех случаях, когда у нас есть повторяющееся использование одного и того же запроса. Когда есть необходимость использовать большой запрос несколько раз, мы можем создать хранимую процедуру один раз и выполнять ее там, где это необходимо, вместо того, чтобы писать весь запрос снова.

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

Синтаксис: Для создания хранимой процедуры

CREATE PROCEDURE (or CREATE PROC) proc_name
AS
BEGIN
  QUERY
END

Шаг 1: Мы создаем базу данных. Для этого используйте приведенную ниже команду, чтобы создать базу данных с именем GeeksforGeeks.

Запрос:

CREATE DATABASE GeeksforGeeks;

Выход:

Шаг 2: Чтобы использовать базу данных GeeksforGeeks, используйте следующую команду.

Запрос:

USE GeeksforGeeks

Выход:

Шаг 3: Теперь мы создаем таблицу. Создайте таблицу student_details с 3 столбцами, используя следующий SQL-запрос.

Запрос:

CREATE TABLE student_details(
   stu_id VARCHAR(8),
   stu_name VARCHAR(20),
   stu_cgpa DECIMAL(4,2) );

Выход:

Шаг 4: запрос на вставку строк в таблицу. Вставка строк в таблицу student_details с помощью следующего SQL-запроса.

Запрос:

INSERT INTO student_details VALUES("40001","PRADEEP",9.6);
INSERT INTO student_details VALUES("40002","ASHOK",8.2);
INSERT INTO student_details VALUES("40003","PAVAN KUMAR",7.6);
INSERT INTO student_details VALUES("40004","NIKHIL",8.2);
INSERT INTO student_details VALUES("40005","RAHUL",7.0);

Выход:

Шаг 5: Просмотр вставленных данных

Запрос:

SELECT * FROM student_details;

Выход:

  • Запрос на создание хранимой процедуры для просмотра таблицы:

Запрос:

CREATE PROCEDURE view_details
AS
BEGIN 
  SELECT * FROM student_details;
END

Выход:

Для выполнения хранимой процедуры мы используем следующий синтаксис:

Синтаксис:

 EXEC proc_name
 or
 EXECUTE proc_name
 or 
 proc_name

Запрос:

EXECUTE view_details

Выход:

  • Запрос для создания хранимой процедуры, которая принимает аргумент как stu_id и отображает cgpa этого идентификатора.

Запрос:

CREATE PROCEDURE get_student_cg_details
@stu_id VARCHAR(20)
AS
BEGIN  
 SELECT stu_id, stu_cgpa FROM student_details
 WHERE stu_id= @stu_id
END

Выход:

Запрос:

EXECUTE get_student_cg_details "40002"

Выход: