1. sayfa
Aktarmak istedigin yerdeki alan aynı cinsdemi diger tablo ile. |
Ekleme yapmak istedigin tabloda IDENT_CURRENT('ID is alınıcak tablo ismi') |
Evet alan cinsleri aynı. Tek bir prosedürde iki tane insert işlemi olur mu acaba . En sonki triggerda şöyle bir durum oluştu. Bu iki satır aynı yerde olması lazım ama farklı yerlere atıyor. < Resime gitmek için tıklayın > Müşteri bilgilerini aldığım prosedür CREATE PROCEDURE MUSTERIBILGILERIAL Kiralamabilgilerini aldığım prosedür. CREATE PROCEDURE ARACBILGILERIAL Trigger ım. CREATE TRIGGER musteriidekle |
Trigger gerek yok, sen tablo ID si icin sadece verdigim fonksiyonu kullan kafi. |
Hata veriyor. Trigger kullanmadım ama kullandığım hatayı veriyor. ARACBILGILERIAL prosedürüne ekliyorum. Şu şekilde SELECT IDENT_CURRENT('Musteri') Cannot insert the value NULL into column 'Musteri_id', table 'RentaCar.dbo.AracKiralama'; column does not allow nulls. INSERT fails. The statement has been terminated. Hatası veriyor. SELECT IDENT_CURRENT('Musteri') değerini döndürüyor ama Musteri_id kısmına insert etmiyor. |
numeric(38,0) donus degeri budur o yuzden olabilir.Uygun donusumle yapabilirsin.Ayrıca tek proc kullan gerek yok iki taneye (iki insert tabiki yaparsın aynı proc icinde) triggersız dene yine. |
Şu şekil çözdüm. Teşekkür ederim yardımlarınız için. scope_identy kullanımını anlamış oldum. CREATE PROCEDURE [dbo].[KIRALAMABILGILERIAL] |
IDENT_CURRENT is not limited by scope and session; it is limited to a specified table. http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/ |
Bir bakayım. |
1. sayfa
Stored procedure ile müşteri bilgilerini giriyor. Aracını seçiyor. Tarihleri seçiyor. Seçtiği bilgileri AraçKiralama tablosuna aktarıyor. Kiralanan aracın idini alabiliyorum ama musteri_id yi Arac kiralama tablosuna aktaramıyorum. Musteri id her girişte otomatik artıyor. Trigger ile aktarmayı denedim. Bu seferde Arac_id yi NULL döndürüyor hatası alıyorum. Halbuki araç id seçiliyor. İki tane procedur oluşturdum. Birisi müşteri bilgilerini diğeri de araç bilgilerini alıyor.
Nasıl bir çözüm bulmak gerekir ?
< Bu mesaj bu kişi tarafından değiştirildi cllyldrm -- 29 Aralık 2013; 17:50:38 >