Tabloda tek satır kopyalama

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
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Tabloda tek satır kopyalama

Mesaj gönderen conari » 17 Haz 2009 01:34

Evet arkadaşlar Tabloda tek satırı aynı tabloya kopyalamak istiyorum. Tamam Insert Into ama
Tabloda 100 e yakın field var
şimdi bunların hepsini İnsert into ya mı ekleyeceğim

*.tabloismi ile yap derseniz autoinc alan var.

Şimdi bunun kısayolu nedir?

kopyalamadan önce autoinc alanın identity özellğini iptal edip
*. ile yap . sonra autoinc alanı update et
sonra tekrardan autoinc alanı aktif hale getir. Bilmiyorum yapılabilir ama esnek çözümler varmı?
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 30 Eyl 2007 11:02
Konum: Ankara

Re: Tabloda tek satır kopyalama

Mesaj gönderen Battosai » 17 Haz 2009 01:48

Kolay bir iş zor gibi yansıtmışsın :) Döngü ile hallet mevzuyu....iki türlü olur ya insert into lu script halinde hazırla yada insert,post ile dateset ile yap...

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda tek satır kopyalama

Mesaj gönderen conari » 17 Haz 2009 01:51

zaten tek satır kopyalayacağım field döngüsünden mi bahsediyorsun?
sadece numarayı değiştireceğim o kadar
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 30 Eyl 2007 11:02
Konum: Ankara

Re: Tabloda tek satır kopyalama

Mesaj gönderen Battosai » 17 Haz 2009 01:57

Neyi değiştirirsen değiştir bildiğin gibi iki adet yol var ama ben senin sorun yaptığın mevzuyu anlamadım...

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda tek satır kopyalama

Mesaj gönderen conari » 17 Haz 2009 02:27

Sorun yaptığım 100 tane field i insert into cümlesine eklemek. :(
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 30 Eyl 2007 11:02
Konum: Ankara

Re: Tabloda tek satır kopyalama

Mesaj gönderen Battosai » 17 Haz 2009 02:50

Sende hazırcı oldun conari :twisted: Aşağıdaki kod işini görür heralde...

Kod: Tümünü seç

var
AlanAdi,Deger,S:string;
i:integer;
begin
S:='';
AlanAdi:='';
Deger:='';
for I := 1 to QDurum.FieldCount-1 do
   Begin
      AlanAdi:=AlanAdi+','+QDurum.Fields[i].FieldName;
      Deger:=Deger+','+QDurum.Fields[i].Text;
   End;
   Delete(AlanAdi,1,1); // Baştaki virgülü silmek lazım...
   Delete(Deger,1,1);
  S:='insert into tablo('+AlanAdi+') values('+Deger+')' ;
Burda autoinc alanın index olarak sıfır olduğu varsayılıp döngü 1 den başlatıldı...ona göre ayarlarsın...

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda tek satır kopyalama

Mesaj gönderen conari » 17 Haz 2009 02:57

Dostum, kodun zaten bu şekilde..
benim amacım bu da olmadan *. ile güm diye girebilirmiyiz.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 30 Eyl 2007 11:02
Konum: Ankara

Re: Tabloda tek satır kopyalama

Mesaj gönderen Battosai » 17 Haz 2009 03:04

Bilemiyorum denemek lazım...bildiğin çözümü uygula gitsin uğraşmaya gerek yok...

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4319
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Tabloda tek satır kopyalama

Mesaj gönderen aslangeri » 17 Haz 2009 03:21

s.a.
güm diye neden olmasın

Kod: Tümünü seç

insert into tabloadi
select * from tabloadi where id=bilmemne
peki autoinc alan ne olacak diyorsan eğer

Kod: Tümünü seç

set identity_insert tabloadi off
insert
select
set identity_insert tabloadi on
:wink: olması lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Tabloda tek satır kopyalama

Mesaj gönderen conari » 17 Haz 2009 04:21

İlk mesajımda bende aynı yöntemi düşündüm ama sonra fisno ve ID alanını update etmem gerektiğini düşünerek buraya bir sorayım dedim.
Sonuç; :?
*döngü ile fieldları SQLe ekle sonra insert et,
*identity iptal et, gümlet, update et, identity aç
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 09:47

Re: Tabloda tek satır kopyalama

Mesaj gönderen forumsad » 26 Ara 2016 03:34

eski konu ama tam benim sorunumu anlatıyor

tabloda bir satırı diğerine aktarmam lazım aktardıktan sonrada satırı boşaltmam lazım
uzun yoldan bilgileri okuyarak tekrar update yaparak oluyor ama daha pratik bir yöntem var mı.

örnegin 2 nolu satırı 1 nolu satıra update yapmak için

Kod: Tümünü seç

str:='UPDATE TBL_OYUNLARGECICI SET ID=1, WHERE ID=2';
şeklinde bir pratik kod var mı.

veya satırı pratik şekilde boşaltmak için

Kod: Tümünü seç

str:='UPDATE TBL_OYUNLARGECICI set  NULL  where ID=1 ';
kolonları tek tek yazmak istemiyorum
pratik bir kodla satırı boşaltabilirmiyiz kolonu boşlatma ile ilğili örnek var cok basit aynı şekilde satırı boşaltmak istiyorum

saygılarımla

Cevapla