Выводится только одна строка (последняя).
Пример задания значения входного параметра по умолчанию: 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 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
Читайте также: B) имеет только один предел Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|