insert trigeri

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

insert trigeri

Mesaj gönderen kodcuminik »

triger ile primary key olmayan bir tabloya kayıt girebiliyorum
ama priimary key olduğunda insert işlemi başarısız oluyor
bunun nedeni nedir neyi atlıyor aloabiliriz ?
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: insert trigeri

Mesaj gönderen conari »

TABLODA VAR OLAN primary kodu tekrar giriyorsunuzdur.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: insert trigeri

Mesaj gönderen unicorn64 »

yada alan primary key olarak tanımlanmıştır ve not null olarak belirtilmiştir,
ancak autoinc olarak belirtilmemiştir ve insertte doğrudan değer atanmıyordur...
not null belirtilmiş alana değer atanmadığı için hata alıyor olabilirsiniz...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
kodcuminik
Üye
Mesajlar: 140
Kayıt: 11 Oca 2009 10:25

Re: insert trigeri

Mesaj gönderen kodcuminik »

conari hocam nasıl yani :) aşagıda kullanıdıgm kod bloğu aynen budur primary key otomatik artan sayı

Kod: Tümünü seç

CREATE TRIGGER [CARIME_GIT_YAZ] ON [dbo].[CAR_HESAPLAR] 

FOR INSERT   AS

BEGIN

DECLARE 

@c_kod                                 AS    VARCHAR(30)      , 
@c_adi                              AS    VARCHAR(30)      ,
@TABLOM                                   AS     VARCHAR(60) 

SELECT 

@c_kod                                     = c_kod           , 
@c_adi                               = c_adi      

FROM    INSERTED    

SET @TABLOM='S_C_HESAPLAR'

EXEC    (
                 '   INSERT INTO  '+@TABLOM+'
     (
          c_kod    ,
          c_adi
                                                    )

VALUES
                   (   " ' +@c_kod+ ' " ,  
                                                         
                         "  '  +@c_adi+'  " 

              ) '

          )

END   
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: insert trigeri

Mesaj gönderen conari »

S_C_HESAPLAR tablosundaki "c_kod" primary edilmiştir.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: insert trigeri

Mesaj gönderen Hakan Can »

Otomatik artan sayı yani IDENTITY olan bir alana direk INSERT işlemi yapamazsınız.

Ya INSERT işleminde bu alanı kullanmayacaksınız (otomatik kendisi artacak) veya SET IDENTITY_INSERT ON/OFF komutlarını kullanacaksınız.
Cevapla