logo
Разработка web-приложения сайта с помощью технологий ado.net и asp.net

2.1 Хранимые процедуры

1) Процедура, которая извлекает все данные для строк таблицы tbh_Newsletters (Новости), с частичным поиском по полям:Subject, HtmlBody, AddedBy, AddedDate

ALTER PROCEDURE [dbo].[tbh_Newsletters_GetNewsletters]

(@param nvarchar(256))

AS

SET NOCOUNT ON

SELECT NewsletterID, AddedDate, AddedBy, Subject, HtmlBody, NewsletterSend

FROM tbh_Newsletters

Where (Subject Like @param) or (HtmlBody Like @param)or (AddedBy Like @param) or (CAST(AddedDate AS Nvarchar) like @param)

ORDER BY AddedDate DESC

2) Процедура извлекающая новость с указанным идентификатором

ALTER PROCEDURE dbo.tbh_Newsletters_GetNewsletterByID

( @NewsletterID int)

AS

SET NOCOUNT ON

SELECT NewsletterID, AddedDate, AddedBy, Subject, HtmlBody, NewsletterSend

FROM tbh_Newsletters

WHERE NewsletterID = @NewsletterID

3) Процедура на добавление новости:

ALTER PROCEDURE dbo.tbh_Newsletters_InsertNewsletter

(

@AddedDate datetime,

@AddedBy nvarchar(256),

@Subject nvarchar(256),

@HtmlBody ntext,

@NewsletterID int OUTPUT

)

AS

SET NOCOUNT ON

INSERT INTO tbh_Newsletters

(AddedDate, AddedBy, Subject, HtmlBody)

VALUES (@AddedDate, @AddedBy, @Subject, @HtmlBody)

SET @NewsletterID = scope_identity()

4) Процедура на изменение новости

ALTER PROCEDURE dbo.tbh_Newsletters_UpdateNewsletter

(

@NewsletterID int,

@Subject nvarchar(256),

@HtmlBody ntext

)

AS

UPDATE tbh_Newsletters

SET Subject = @Subject, HtmlBody = @HtmlBody

WHERE NewsletterID = @NewsletterID

5) Процедура на удаление новости:

ALTER PROCEDURE dbo.tbh_Newsletters_DeleteNewsletter

(

@NewsletterID int

)

AS

DELETE tbh_Newsletters WHERE NewsletterID = @NewsletterID

6) Процедура, которая извлекает из таблицы tbh_Newsletters последние три добавленные новости:

ALTER PROCEDURE dbo.tbh_Newsletters_GetNewsletters3

AS

SET NOCOUNT ON

SELECT TOP 3 NewsletterID, AddedDate, AddedBy, Subject, HtmlBody

FROM tbh_Newsletters

ORDER BY AddedDate DESC

7)Процедура, которая обновляет новость, изменяя поле NewsletterSend со значения по умолчанию равного 0, на значение 1 - признак того, что новость отправлена на e-mail подписчикам