exec Etiketine sahip yazılar.
May
13
2011

SQL PROCEDURE MACERASI -8

Elimizde 3 farklı tablomuz olsun ve bu tablolardan 1 tane kayıt silinmek istendiğinde diğer 2 tablodaki ilişkili alanlarda silinsin ve yapılan işlemler bir log tablosunda kayıt altına alınsın. Eğer silinmek istenen kayıt 1. Tabloda yoksa hata kodu hatakod=0 olsun eğer kayıtlar başarılı olarak silinmiş ise de hatakod=1 olarak programa gelsin.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
— =============================================
— Author:        Burak SEKERCIOGLU
— Create date: 12/05/2011
— Description:   SP TEST-8
— =============================================
Create proc [sp_test] (
@kullanici nvarchar(max),
@domain nvarchar(max),
@org_id int
)
AS
declare @hatakod int
begin /*basla*/
if not @org_id=0
begin
IF EXISTS (select id from etkinlik WHERE id=@org_id)
begin
DELETE FROM ajanda WHERE  org_id=@org_id
DELETE FROM etkinlik WHERE id=@org_id
DELETE FROM materyal WHERE org_id=@org_id
execute sp_log @kullanici,@domain, ‘Etkinlik Silindi’
set @hatakod=0 /* Etkinlik Yok */
return @hatakod
end
else
begin
set @hatakod=1 /* Etkinlik Silindi*/
return @hatakod
end
end
/* Son */
end

Nasıl oldukça kolay oluyor değil mi?

Peki dikkatinizi bir şey çekti mi? Mevcut prosedürümüz içinden farklı bir prosedüre atıfta bulunduk ve mevcut prosedürün

parametreleri ile

execute sp_log @kullanici,@domain, ‘Etkinlik Silindi’

Diğer prosedürü de çalıştırdık. Bu sayede uzun uzadıya prosedürler yazmak yerine ortak kullanımdaki prosedür ile işlem loglarını sisteme kaydettik.

Devamı SQL Procedure Macerası -9

TeamViewer ile İnternet üzerinden Uzaktan Erişim ve Destek Sekercioglu.eu Uzaktan Yardım
Ammyy Uzaktan Yardım
WinRAR
WEBMAIL Google PageRank Checker
Twitterda Takip Edin! Twitterda Takip Edin!
Twitter

Üye Paneli

Son Yazılar

Kategoriler

Son Yorumlar