Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Выводится только одна строка (последняя).




 

Пример задания значения входного параметра по умолчанию:

CREATE PROC my_proc55 @par1 int output, @par2 int output, @par3 As int =10

AS

SELECT @par1= c1, @par2 = c2 FROM dbo.Table5 where c2=@par3;

 

Обращение к процедуре:

Declare @p1 int, @p2 int

EXEC my_proc55 @p1 output, @p2 output --!!!!!!!!!!

select @p1, @p2

или

Declare @p1 int, @p2 int

EXEC my_proc55 @p1 output, @p2 output, DEFAULT

select @p1, @p2

Результат:

Примеры создания и использования хранимых процедур для базы данных DB_Books:

1. Процедура без параметров:

CREATE PROCEDURE Count_Books AS

Select count(Code_book) from Books

Go

Обращение к процедуре:

EXEC Count_Books

Результат:

2. Процедура c входным параметром @Count_pages:

CREATE PROCEDURE Count_Books_Pages @Count_pages as Int

AS Select count(Code_book) from Books

WHERE Pages>=@Count_pages

Go

Обращение к процедуре:

EXEC Count_Books_Pages 100

 

3. Процедура c входными параметрами @Count_pages и @Title:

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

Обращение к процедуре:

EXEC Count_Books_Title 100, 'П%'

 

4. Процедура c входными параметрами @Count_pages и @Title и выходным параметром @Itogo:

CREATE PROCEDURE Count_Books_Itogo @Count_pages Int, @Title Char(10), @Itogo Int OUTPUT

AS

Select @Itogo = count(Code_book) from Books

WHERE Pages>=@Count_pages AND Title_book LIKE @Title

Go

Обращение к процедуре:

Declare @q As int

EXEC Count_Books_Itogo 100, 'П%', @q output

select @q

 

5. Процедура c входным параметром @param и RETURN:

CREATE PROCEDURE checkname @param int AS

IF (SELECT Name_author FROM authors WHERE Code_author = @param) = 'Пушкин А.С.'

RETURN 1

ELSE

RETURN 2

 

Обращение к процедуре:

DECLARE @return_status As int

EXEC @return_status = checkname 3

SELECT 'Return Status' = @return_status

 

6. Процедура c входным параметром@k для получения всей информации о конкретном авторе:

CREATE PROC select_author @k CHAR(30)

AS SELECT * FROM Authors WHERE name_author=@k

 

Обращение к процедуре:

EXEC select_author 'Пушкин А.С.'

или

Declare @p1 As CHAR(30)

set @p1='Пушкин А.С.'

EXEC select_author @p1

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...