Пример создания хранимой процедуры

Пример создания хранимой процедуры

--©Drkb v.3(2007): <a href="http://www.drkb.ru
Create"
title="www.drkb.ru
Create"
>www.drkb.ru
Create</a> Procedure MyStoredProcedure
 @Parameter1 varchar(50),
 @Parameter2 int,
 @OutputParameter varchar(100) output
As
Begin
  Set @Parameter1=isNull(@Parameter1, '')
  Set @OutputParameter=@Parameter1+cast(@Parameter2 as varchar(10))
  Return 0
End

Примечания:
1) Begin..End для обрамления процедуры не обязательны. Дельфи приучил меня
их использовать и мне легче читать с ними код, но вполне можно обходится и без них.
На ваше усмотрение:

--©Drkb v.3(2007): <a href="http://www.drkb.ru

Create"
title="www.drkb.ru

Create"
>www.drkb.ru

Create</a> Procedure MyStoredProcedure

 @Parameter1 varchar(50),

 @Parameter2 int,

 @OutputParameter varchar(100) output

As

  Set @Parameter1=isNull(@Parameter1, '')

  Set @OutputParameter=@Parameter1+cast(@Parameter2 as varchar(10))

  Return 0

2) Хранимая процедура всегда должна создаваться отдельным SQL запросом. Нельзя создать одним запросом несколько хранимых процедур. При написании скрипта для Query Analyser для создания нескольких процедур можно использовать директиву GO, которая воспринимается Query Analyser'ом как разделить отдельных запросов:

--©Drkb v.3(2007): <a href="http://www.drkb.ru

Create"
title="www.drkb.ru

Create"
>www.drkb.ru

Create</a> Procedure MyStoredProcedure

 @Parameter1 varchar(50),

 @Parameter2 int,

 @OutputParameter varchar(100) output

As

Begin

  Set @Parameter1=isNull(@Parameter1, '')

  Set @OutputParameter=@Parameter1+cast(@Parameter2 as varchar(10))

  Return 0

End

Go

Create Procedure MyStoredProcedure2

As

Select GetDate()

Go

Директива GO не является оператором SQL и при выполнения запроса из клиентского приложения не будет пониматься. Кроме того директиву GO невозможно закоментировать.
Пример её вызова:

--©Drkb v.3(2007): <a href="http://www.drkb.ru

Declare"
title="www.drkb.ru

Declare"
>www.drkb.ru

Declare</a> @Param1 varchar(50), @Param2 int, @OutputParam varchar(100)

Select @Param1='Просто строка ', @Param2=2

Exec MyStoredProcedure

 @Parameter1=@Param1,

 @Parameter2=@Param2,

 @OutputParameter=@OutputParam output

Select @OutputParam

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...