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
bu cümlenin sql karşılığı nedir ?
4
●432
- 22-01-2018, 11:23:38
- 22-01-2018, 13:16:08
- 23-01-2018, 07:44:45Merhaba
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
