• 22-01-2018, 11:23:38
    #1
    bir banka veritabanı düşünün, bankaya yeni müşteri eklendiği zaman hesap türünü vadesiz hesap bakiyesinide 0 olarak ayarlayan kodu trigger olarak yazınız.

    tablo1 = musteriler musteri id / musteriadsoyad
    tablo 2 = hesaplar musteri id / hesap turu
    tablo 3 = bakiyeler musteri id / bakiye
  • 22-01-2018, 13:16:08
    #2
    yunusemrekula adlı üyeden alıntı: mesajı görüntüle
    bir banka veritabanı düşünün, bankaya yeni müşteri eklendiği zaman hesap türünü vadesiz hesap bakiyesinide 0 olarak ayarlayan kodu trigger olarak yazınız.

    tablo1 = musteriler musteri id / musteriadsoyad
    tablo 2 = hesaplar musteri id / hesap turu
    tablo 3 = bakiyeler musteri id / bakiye
    Tablon ve ilişkileri böyle mi olacak?
  • 22-01-2018, 14:10:26
    #3
    evet hocam

    tbajans adlı üyeden alıntı: mesajı görüntüle
    Tablon ve ilişkileri böyle mi olacak?
  • 23-01-2018, 07:44:45
    #4
    Merhaba
    2 kod kümesi
    Örnek DB:
    USE [denemeDB]
    GO
    /****** Object:  Table [dbo].[bakiyeler]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[bakiyeler](
        [hesaplarid] [int] NOT NULL,
        [musterilerid] [int] NOT NULL,
        [bakiye] [float] NOT NULL
    ) ON [PRIMARY]
    GO
    /****** Object:  Table [dbo].[hesaplar]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[hesaplar](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [musterilerid] [int] NOT NULL,
        [hesapturu] [nvarchar](50) NOT NULL,
     CONSTRAINT [PK_hesaplar] PRIMARY KEY CLUSTERED 
    (
        [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    /****** Object:  Table [dbo].[musteriler]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[musteriler](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [ad] [nvarchar](50) NOT NULL,
        [soyad] [nvarchar](50) NOT NULL,
     CONSTRAINT [PK_musteriler] PRIMARY KEY CLUSTERED 
    (
        [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[bakiyeler] ADD  CONSTRAINT [DF_bakiyeler_bakiye]  DEFAULT ((0)) FOR [bakiye]
    GO
    ALTER TABLE [dbo].[hesaplar] ADD  CONSTRAINT [DF_hesaplar_hesapturu]  DEFAULT (N'vadesiz') FOR [hesapturu]
    GO
    ALTER TABLE [dbo].[bakiyeler]  WITH CHECK ADD  CONSTRAINT [FK_bakiyeler_hesaplar] FOREIGN KEY([hesaplarid])
    REFERENCES [dbo].[hesaplar] ([id])
    ON DELETE CASCADE
    GO
    ALTER TABLE [dbo].[bakiyeler] CHECK CONSTRAINT [FK_bakiyeler_hesaplar]
    GO
    ALTER TABLE [dbo].[bakiyeler]  WITH CHECK ADD  CONSTRAINT [FK_bakiyeler_musteriler] FOREIGN KEY([musterilerid])
    REFERENCES [dbo].[musteriler] ([id])
    GO
    ALTER TABLE [dbo].[bakiyeler] CHECK CONSTRAINT [FK_bakiyeler_musteriler]
    GO
    ALTER TABLE [dbo].[hesaplar]  WITH CHECK ADD  CONSTRAINT [FK_hesaplar_musteriler] FOREIGN KEY([musterilerid])
    REFERENCES [dbo].[musteriler] ([id])
    ON DELETE CASCADE
    GO
    ALTER TABLE [dbo].[hesaplar] CHECK CONSTRAINT [FK_hesaplar_musteriler]
    GO
    /****** Object:  Trigger [dbo].[tgBakiyeOlustur]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE trigger [dbo].[tgBakiyeOlustur] on [dbo].[hesaplar]   --1
    for insert    --2
    as begin     --3
    declare @musterilerid int = (Select i.musterilerid from inserted as i)
    insert into bakiyeler (musterilerid,hesaplarid,bakiye) values (@musterilerid,@@IDENTITY,0) --4
    end    --5
    
    GO
    /****** Object:  Trigger [dbo].[tgHesapOlustur]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    create trigger [dbo].[tgHesapOlustur] on [dbo].[musteriler]   --1
    for insert    --2
    as begin     --3
    insert into hesaplar (musterilerid,hesapturu) values (@@IDENTITY,'vadesiz') --4
    end    --5
    
    GO

    Sadece Trigger ler:
    GO
    /****** Object:  Trigger [dbo].[tgBakiyeOlustur]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE trigger [dbo].[tgBakiyeOlustur] on [dbo].[hesaplar]   --1
    for insert    --2
    as begin     --3
    declare @musterilerid int = (Select i.musterilerid from inserted as i)
    insert into bakiyeler (musterilerid,hesaplarid,bakiye) values (@musterilerid,@@IDENTITY,0) --4
    end    --5
    
    GO
    /****** Object:  Trigger [dbo].[tgHesapOlustur]    Script Date: 23.01.2018 07:41:43 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    create trigger [dbo].[tgHesapOlustur] on [dbo].[musteriler]   --1
    for insert    --2
    as begin     --3
    insert into hesaplar (musterilerid,hesapturu) values (@@IDENTITY,'vadesiz') --4
    end    --5
    yunusemrekula adlı üyeden alıntı: mesajı görüntüle
    evet hocam
  • 23-01-2018, 09:44:33
    #5
    teşekkürler