herkese kolay gelsin kendimce bir kod yazma ya çalışıyorum fakat bir türlü beceremedim.
burada daha önce takıldığımda çok yardımcı oldular umarım gene yardım edersiniz. (şimdiden teşekkürler)
db de
STOK , STOK_FIYAT diye iki tablom var bu alanlarda
stokda sadece bilgileri tutuyorum.
fıyatlı olanda alış fiyat satış fiyat isk ve benzeri şeyleri tutuyorum
amacım
örnek stokkodu 1060 stok adı el fren kolu bunu sadece bir kere acacagım stok tablosunda
ok açtım.
stokfıyat tablosunda
marka ya göre fiyatları fiyatları yzdırıyorum.
o da okey
fakat yapamadıgım
view sp gibi sorgularak
örnek çıkarmak istedigim tablo su
1060 - elfrenkolu - otoyol - 10- tl - 10 isk -15 isk
1060 - elfrenkolu - emt- 5- tl - 8 isk -5 isk
tablo yapımda bu
CREATE TABLE [dbo].[STOK] (
[BLKODU] bigint NOT NULL ,
[STOKKODU] varchar(30) COLLATE Turkish_CI_AI NOT NULL ,
[STOK_ADI] varchar(70) COLLATE Turkish_CI_AI NULL ,
[STOK_ADI_YD] varchar(75) COLLATE Turkish_CI_AI NULL ,
[ACIKLAMA] varchar(60) COLLATE Turkish_CI_AI NULL ,
[AKTIF] smallint NULL ,
[SILINDI] smallint NULL ,
[KAYDEDEN] varchar(20) COLLATE Turkish_CI_AI NULL ,
[KAYIT_TARIHI] datetime NULL ,
[DEGISTIREN] varchar(20) COLLATE Turkish_CI_AI NULL ,
[DEGISTIRME_TARIHI] datetime NULL ,
CONSTRAINT [PK_STOK_BLKODU] PRIMARY KEY ([BLKODU]),
CONSTRAINT [UQ_STOK_STOKKODU] UNIQUE ([STOKKODU] ASC)
)
ON [PRIMARY]
GO
CREATE INDEX [ST_STOK_ADI] ON [dbo].[STOK]
([STOK_ADI] ASC)
ON [PRIMARY]
GO
--------------
CREATE TABLE [dbo].[STOK_FIYAT] (
[BLKODU] bigint NOT NULL ,
[BLSTKODU] bigint NOT NULL ,
[BARKODU] varchar(30) COLLATE Turkish_CI_AI NULL ,
[MARKASI] varchar(30) COLLATE Turkish_CI_AI NULL ,
[MENSEI] varchar(30) COLLATE Turkish_CI_AI NULL ,
[LISTE_FIYATI] float(53) NULL ,
[ALIS_SATIS] smallint NULL ,
[TANIMI] varchar(15) COLLATE Turkish_CI_AS NULL ,
[FIYAT_NO] varchar(10) COLLATE Turkish_CI_AS NULL ,
[FIYATI] float(53) NULL ,
[PARA_BIRIMI] varchar(20) COLLATE Turkish_CI_AI NULL ,
[BIRIMI] varchar(20) COLLATE Turkish_CI_AI NULL ,
[DURUMU] varchar(30) COLLATE Turkish_CI_AI NULL ,
[KDV_ORANI_ALIS] float(53) NULL ,
[KDV_ORANI_SATIS] float(53) NULL ,
[ALISK1_KULLAN] smallint NULL ,
[ALISK1_ORANI] float(53) NULL ,
[ALISK2_KULLAN] smallint NULL ,
[ALISK2_ORANI] float(53) NULL ,
[ALISK3_KULLAN] smallint NULL ,
[ALISK3_ORANI] float(53) NULL ,
[STISK1_KULLAN] smallint NULL ,
[STISK1_ORANI] float(53) NULL ,
[STISK2_KULLAN] smallint NULL ,
[STISK2_ORANI] float(53) NULL ,
[STISK3_KULLAN] smallint NULL ,
[STISK3_ORANI] float(53) NULL ,
[ALIS_FIYATI_DEGISTI] smallint NULL ,
[SF_ETIKET_BASILACAK] smallint NULL ,
CONSTRAINT [PK_STOK_FIYAT] PRIMARY KEY ([BLKODU])
)
ON [PRIMARY]
GO
CREATE INDEX [STFY_ALISFIYATI_DEGISTI] ON [dbo].[STOK_FIYAT]
([ALIS_FIYATI_DEGISTI] ASC)
ON [PRIMARY]
GO
CREATE INDEX [STFY_BLSTKODU] ON [dbo].[STOK_FIYAT]
([BLSTKODU] ASC)
ON [PRIMARY]
GO
CREATE TRIGGER [dbo].[STOK_FIYATUPDATE]
ON [dbo].[STOK_FIYAT]
AFTER UPDATE
AS
BEGIN
DECLARE @AS SMALLINT,@OLD_FIYATI DOUBLE PRECISION, @NEW_FIYATI DOUBLE PRECISION;
SELECT @AS = ALIS_SATIS, @NEW_FIYATI = FIYATI FROM INSERTED;
SELECT @OLD_FIYATI = FIYATI FROM DELETED;
IF ((@AS = 1) AND (@NEW_FIYATI <> @OLD_FIYATI))
UPDATE STOK_FIYAT SET ALIS_FIYATI_DEGISTI = 1 FROM INSERTED I JOIN STOK_FIYAT F ON I.BLKODU=F.BLKODU;
IF ((@AS = 2) AND (@NEW_FIYATI <> @OLD_FIYATI))
UPDATE STOK_FIYAT SET SF_ETIKET_BASILACAK = 1 FROM INSERTED I JOIN STOK_FIYAT F ON I.BLKODU=F.BLKODU;
END
GO