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 ?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi cllyldrm -- 29 Aralık 2013; 17:50:38 >