database in birinden seçip diğerine ekleme

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
Misafir

database in birinden seçip diğerine ekleme

Mesaj gönderen Misafir »

iki farklı database de tutulan iki eş table var. bu database in birinden select edip ikincisine insert etmek istesek ama tek sorguda.

openrowset gibi bir deyim buldum ama sanırım beceremedim.

teşekkürler. (ms-sql server)
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Kod: Tümünü seç

insert into DB1.dbo.Tablo
select * From DB2.dbo.Tablo
Misafir

bu kadar kolay olmamalıydı zaten.

Mesaj gönderen Misafir »

bir yerlerde bir şey eksik ama ne ?

An explicit value for the identity column in table 'mustafa2004f.dbo.tblcahar' can only be specified when a column list is used and IDENTITY_INSERT is ON.

tam olarak bu hatayı aldım.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

otomatik artan bir alana değer atamaya çalışıyorsun.

1. Eğer bu değer senin için önemli ise (yani diğeriyle aynı olması gerekiyorsa), otomatik artanlığını kaldır çyle aktar.

2. Değer önemli değilse select * yerine, select ad, soyad... gibi otomatik artan alan dışındaki diğer kolonları seçerek yap.

Kolay gelsin.
Misafir

valla oldu

Mesaj gönderen Misafir »

ilginize teşekkürler.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Autoincrement alanı kaldırmadan da şu kodla yapabilirsin istediğini:

Kod: Tümünü seç

SET IDENTITY_INSERT TABLO ON 
//INSERT CUMLESI
SET IDENTITY_INSERT TABLO OFF
Bu bire bir bütün alanları aynen aktatı yani autoinc. alanının da aynı değeri alıp diğerine kopyalar.
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

peki buradan hangisi aktaran hangisi aktarilan tablo bunu anlamadim ayrica koduda anlamadim :)) bu kisa kodu acsaniz
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

IDENTITY_INSERT ü on off yaptığımız cümleyi soruyorsanız tabi ki insert yapılan tablonunkünü yapıyoruz Çğnkü zaten select yaptığımız tablodan okuma yapıyoruz.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

cuneyt22 yazdı:peki buradan hangisi aktaran hangisi aktarilan tablo bunu anlamadim ayrica koduda anlamadim :)) bu kisa kodu acsaniz
insert'ten sonraki kayıtların eklendiği tablo, select'ten sonraki kayıtların alındığı tablo.

Bu SQL cümlesi ile yapıları aynı iki tabloda, birinden diğerine kayıt eklemek için kullanılıyor.

Biz genelde Oracle'da kolon ekleyip, sildiğimiz zaman kullanıyorduk. Aynı yapıda yeni bir tablo oluşturuyorsunuz ve verileri yeni tabloya aktarıp, eski tabloyu siliyorsunuz.

Kolay gelsin.
Cevapla