Şimdi Ara

sql iki ayrı tabloya tek sorgu ile insert

Daha Fazla
Bu Konudaki Kullanıcılar: The MasteR Daha Az
1 Kayıtlı Üye ve 3 Misafir - 4 Masaüstü
5 sn
17
Cevap
0
Favori
1.821
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • iki tane tablom var urun ve alis tablolarım... urun bilgisi eklerken fiyat ve alinan adeti alis tablosunda tutuyorum diğer bilgiler urun tablosunda...

    tek sorguda insert etmek istiyorum nasıl yapabilirim... sp ile yapılabileceğini gördüm ancak sp hakkında çok bir bilgim yok onun için başka bir yol var mı ? ayrı ayrı eklemekte mantıklı gelmiyor...



  • INSERT deyimi yalnızca tek bir table için kullanılabilir. Bahsettiğiniz durum için trigger kullanabilirsiniz, yani tek bir insert deyimi ile etkilenen table için diğer bir tableda istediğiniz işlemi gerçekleştirebilirsiniz.
  • EX24 kullanıcısına yanıt
    ancak burada da iki ayrı işlem olmuyor mu tek sorgu çalışıyor ancak iki ayrı işlem yapıyor... benim düşündüğüm ilk tablodaki veriler eklendiğikten sonra ikinciler eklenirken bir hata oluşupta verilerin eklenememesi....
  • Hocam sp ile tablo birlestirip yapmayi dene. Biraz arastirirsan nette sp bayagi bi kolay

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Neden tek bir query ile insert edilmesini istiyorsunuz, bunu açıklarsanız belki farklı bir çözüm yolu önerebilirim.
  • EX24 kullanıcısına yanıt
    ilk tabloya veriler eklendikten sonra ikinci tabloya eklenirken bir hata ile sonuçlanıp ikinci tablonun verilerinin eksik kalmasının önüne geçmek için...


    ama şimdi fark ettim urun tablom da ki urunId min alis tabloma eklenmesi gerekiyor... bunun için urun tablosuna son eklenen veriyi bulup urunId sini alıp mı eklemiyim ? başka bir yol öneriniz var mı ?
  • quote:

    Orijinalden alıntı: Kriger

    Hocam sp ile tablo birlestirip yapmayi dene. Biraz arastirirsan nette sp bayagi bi kolay


    hocam sp araştıracağım çok lazım olacak gibi...
  • O halde aşağıdaki gibi örnek kod bloklarını kullanabilirsiniz,

    BEGIN TRY 

    BEGIN TRAN

    INSERT URUN VALUES(...);
    INSERT ALISLAR VALUES(...);

    COMMIT TRAN

    END TRY

    BEGIN CATCH

    IF (XACT_STATE()) <> 0 ROLLBACK TRANSACTION;

    END CATCH
  • brhmthmhrl B kullanıcısına yanıt
    Sizin sorunuzun cevabı sp değil. "transaction" konusuna bakmanız lazım.

    Gerçi @EX24 gereken cevabı da vermiş zaten.
  • quote:

    Orijinalden alıntı: snoppy

    Sizin sorunuzun cevabı sp değil. "transaction" konusuna bakmanız lazım.

    Gerçi @EX24 gereken cevabı da vermiş zaten.

    Teşekkür ediyorum hocam araştıracağım...
  • Merhaba arkadaşlar,

    Bir veritabanımız var: mydatabase5

    Tablo1: mydatabase5_content
    Sütun: id

    Tablo2: mydatabase5_assets
    Sütun: assets_id

    Tablo 1 deki "id" sütununda doğru bilgiler var.
    Tablo 2 deki "assets_id" sütununda yanlış bilgiler var.

    Tablo 2 deki "assets_id" sütunundaki 5200 kaydın hepsini Tablo 1 deki "id" sütunuyla eşitlemek istiyorum. İşlemi phpMyadmin üzerinde yapmam gerekiyor. Hangi komutları yazmalıyım?

    Şimdiden teşekkürler.



    < Bu mesaj bu kişi tarafından değiştirildi dil-edebiyat -- 20 Nisan 2017; 1:57:20 >

  • UPDATE mydatabase5_assets AS a, mydatabase5_content AS c
    SET a.assets_id = c.id
    WHERE a.assets_id = c.id;



    < Bu mesaj bu kişi tarafından değiştirildi snoppy -- 23 Nisan 2017; 22:30:17 >
  • Illa insert into diyecegim ve illa da tek insert olacak mantıklı da bir sebebi yok diyorsan ikisini birlestiren bir join sorgusu ile view yaparsin. O viewe insert edersin her sql cozumunde calisiyor mu bilmem ama sql server da oluyor ki dogru method orm araci kullanmayacaksan transaction+ storedprocedure

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: dil-edebiyat

    Merhaba arkadaşlar,

    Bir veritabanımız var: mydatabase5

    Tablo1: mydatabase5_content
    Sütun: id

    Tablo2: mydatabase5_assets
    Sütun: assets_id

    Tablo 1 deki "id" sütununda doğru bilgiler var.
    Tablo 2 deki "assets_id" sütununda yanlış bilgiler var.

    Tablo 2 deki "assets_id" sütunundaki 5200 kaydın hepsini Tablo 1 deki "id" sütunuyla eşitlemek istiyorum. İşlemi phpMyadmin üzerinde yapmam gerekiyor. Hangi komutları yazmalıyım?

    Şimdiden teşekkürler.




    İki farklı tablonun, PK olan id'lerini neye göre değiştireceksiniz?




  • Birinde doğru ID ler var. Yanlış olan değişecek.
  • Konu Hortlak Ama Sonradan Okuyanlar İçin Yazalım;
    Transaction ve Store Procedure ile Yapılır Bu İşlem. İkisini de Google da Çok Kolay Bulabilirsiniz

    < Bu ileti DH mobil uygulamasından atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.