Şaşırmaya gerek yok ...
Ben MYSQL VE FIREBIRD konusunda tecrübe sahibiyim...Sonradan biraz oracle bile öğrendim.
Procedure ve triger yazmak benim artık çok kolay bir olay interbase ve fİrebird,MYSQL sağolsun..
Firebird de yıllardır IBEXPERT aracı ile her türlü işimi çok kolay hallettim ..Fakat MS SQL de yeniyim..Daha yeni öğreniyorum.
Firebirdde çok kolay olan işleri MS SQL a yapmak biraz zor gibi geliyor fakat fazla sürmez..Onu da öğrenirim.
Trigeri dün yazdım ..İndex oluşturmayı da bir gün sonra öğrendim ..Sanırım yorgunluktan bir ara kafama durdu sanırım:-)
Bir kaç projemi birden ms sql veritabanına geçirmem gerekiyor çünkü..Bu aralar biraz yoğunum..
Cevap yazdığınız için teşekkür ederim.
İnsanın yalnız olmadığını bilmesi güzel bir duygu..
FİREBİRD İÇİN ÖRNEK :
Kod: Tümünü seç
SET SQL DIALECT 3;
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE TABLE HESAPKODLAR (
HESAPKODU VARCHAR(30) COLLATE PXW_TURK,
YIL INTEGER,
HESAPADI VARCHAR(100) COLLATE PXW_TURK
);
/******************************************************************************/
/**** Indices ****/
/******************************************************************************/
CREATE UNIQUE INDEX HESAPKODLAR_YILHESAPKOD ON HESAPKODLAR (YIL, HESAPKODU);
MS SQL İÇİN ÖRNEK
Kod: Tümünü seç
USE [BORSA]
GO
/****** Object: Index [ClusteredIndex-YILHESAPKODU] Script Date: 24.05.2015 10:30:55 ******/
CREATE UNIQUE CLUSTERED INDEX [ClusteredIndex-YILHESAPKODU] ON [MUHASEBE].[HESAPKODLAR]
(
[YIL] ASC,
[HESAPKODU] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO
BU KODDA MS SQL İÇİN TRIGER İLE İKİ ALAN NASIL BİRLEŞTİRİLİR.
Kod: Tümünü seç
USE [BORSA]
GO
/****** Object: Trigger [MUHASEBE].[HESAPKODLARI_Insert] Script Date: 24.05.2015 10:18:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [MUHASEBE].[HESAPKODLARI_Insert] ON [MUHASEBE].[HESAPKODLARTUM]
INSTEAD OF INSERT
--FOR INSERT
AS
BEGIN
DECLARE @YIL INT
DECLARE @HESAPKOD NVARCHAR(30)
DECLARE @YILHESAPKODU NVARCHAR(34)
SELECT @YIL=YIL FROM INSERTED
SELECT @YILHESAPKODU=HESAPKODU FROM INSERTED
SELECT @YILHESAPKODU =CONVERT(NVARCHAR(4), @YIL)+@YILHESAPKODU
INSERT INTO MUHASEBE.HESAPKODLARTUM(
MUHASEBE.HESAPKODLARTUM.YILHESAPKODU,
MUHASEBE.HESAPKODLARTUM.YIL,
MUHASEBE.HESAPKODLARTUM.HESAPKODU,
MUHASEBE.HESAPKODLARTUM.HESAPADI,
MUHASEBE.HESAPKODLARTUM.BORC,
MUHASEBE.HESAPKODLARTUM.ALACAK,
MUHASEBE.HESAPKODLARTUM.BAKIYE,
MUHASEBE.HESAPKODLARTUM.SEVIYE,
MUHASEBE.HESAPKODLARTUM.CALISMASEKLI,
MUHASEBE.HESAPKODLARTUM.HESAPTIPI,
MUHASEBE.HESAPKODLARTUM.CARIKOD,
MUHASEBE.HESAPKODLARTUM.ALT,
MUHASEBE.HESAPKODLARTUM.BORCBAKIYE,
MUHASEBE.HESAPKODLARTUM.ALACAKBAKIYE,
MUHASEBE.HESAPKODLARTUM.USERGIRISADI,
MUHASEBE.HESAPKODLARTUM.USERGIRISTIME,
MUHASEBE.HESAPKODLARTUM.USERDEGISADI,
MUHASEBE.HESAPKODLARTUM.USERDEGISTIME
)
SELECT
@YILHESAPKODU,
inserted.YIL,
inserted.HESAPKODU,
inserted.HESAPADI,
inserted.BORC,
inserted.ALACAK,
inserted.BAKIYE,
inserted.SEVIYE,
inserted.CALISMASEKLI,
inserted.HESAPTIPI,
inserted.CARIKOD,
inserted.ALT,
inserted.BORCBAKIYE,
inserted.USERGIRISADI,
inserted.USERGIRISTIME,
inserted.ALACAKBAKIYE,
inserted.USERDEGISADI,
inserted.USERDEGISTIME
From inserted
END