Позволяет выйти из процедуры в любой точке по указанному условию, а также позволяет передать результат выполнения процедуры числом, по которому можно судить о качестве и правильности выполнения процедуры.
Пример создания процедуры без параметров:
CREATE PROCEDURE Count_Books AS
Select count(Code_book) from Books
Go
Задание 1. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команды
EXEC Count_Books
Проверьте результат.
Пример создания процедуры c входным параметром:
CREATE PROCEDURE Count_Books_Pages @Count_pages as Int
AS
Select count(Code_book) from Books WHERE Pages>=@Count_pages
Go
Задание 2. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команды
EXEC Count_Books_Pages 100
Проверьте результат.
Пример создания процедуры c входными параметрами:
CREATE PROCEDURE Count_Books_Title @Count_pages as Int, @Title AS
Char(10)
AS
Select count(Code_book) from Books WHERE Pages>=@Count_pages
AND Title_book LIKE @Title
Go
Задание 3. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команды
EXEC Count_Books_Title 100, 'П%'
Проверьте результат.
Пример создания процедуры c входными параметрами и выходным параметром:
Задание 4. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите с помощью набора команд:
Declare @q As int
EXEC Count_Books_Itogo 100, 'П%', @q output
select @q
Проверьте результат.
Пример создания процедуры c входными параметрами и RETURN:
CREATE PROCEDURE checkname @param int
AS
IF (SELECT Name_author FROM authors WHERE Code_author = @param) ='Пушкин А.С.'
RETURN 1
ELSE
RETURN 2
Задание 5. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команд:
DECLARE @return_status int
EXEC @return_status = checkname 1
SELECT 'Return Status' = @return_status
Пример создания процедуры без параметров для увеличения значения ключевого поля в таблице Purchases в 2 раза:
CREATE PROC update_proc
AS
UPDATE Purchases SET Code_purchase = Code_purchase*2
Процедура не возвращает никаких данных.
Задание 6. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команды
EXEC update_proc
Пример процедуры с входным параметром для получения всей информации о конкретном авторе:
CREATE PROC select_author @k CHAR(30)
AS
SELECT * FROM Authors WHERE name_author=@k
Задание 7. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команд:
EXEC select_author 'Пушкин А.С.' или
select_author @k='Пушкин А.С.' или
EXEC select_author @k='Пушкин А.С.'
Пример создания процедуры с входным параметром и значением по умолчанию для увеличения значения ключевого поля в таблице Purchases в заданное количество раза (по умолчанию в 2 раза):
CREATE PROC update_proc @p INT = 2
AS
UPDATE Purchases SET Code_purchase = Code_purchase *@p
Процедура не возвращает никаких данных.
Задание 8. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команд:
EXEC update_proc 4 или
EXEC update_proc @p = 4 или
EXEC update_proc --будет использовано значение по умолчанию.
Пример создания процедуры с входным и выходным параметрами.
Создать процедуру для определения количества заказов, совершенных за указанный период:
CREATE PROC count_purchases
@d1 SMALLDATETIME, @d2 SMALLDATETIME, @c INT OUTPUT
AS
SELECT @c=count(Code_purchase) from Purchases
WHERE Date_order BETWEEN @d1 AND @d2
SET @c = ISNULL(@c,0)
Задание 9. Создайте данную процедуру в разделе Stored Procedures базы данных DB_Books через утилиту SQL server Management Studio. Запустите ее с помощью команд: