2009-06-18 17 views
10

Kullanıcı masam var. Kullanıcı tabloma veri eklemek istiyorum.Tablo zaten mevcut olduğundan tabloya eklenemiyor mu?

SELECT columna, columnb, 
INTO my_table 
FROM my_other_table 
WHERE (... conditions ...) 

aşağıdaki hatayı alıyorum:

SQL Server Error on (myserver) Error:2714 at Line:1 Message:There is already an object named 'my_table' in the database. 

Evet, sağ Sybase

bir duyuru var. Bunu biliyorum. Tabloyu biliyorum. Verileri içine eklemek istiyorum.

Sybase neden iyi çalışmıyor? :(

+0

sen bunu yapıyor yolu Bunu bilmek ilginç ... – BlackTigerX

cevap

19

SEÇ ... INTO yeni tabloların oluşturulmasına yöneliktir.

Us e INSERT ... Mevcut tablolar için SELECT. örneğin: SYBASE emin ama bana


INSERT INTO my_table 
(
     columna, 
     columnb 
) 
SELECT 
     columna, 
     columnb 
FROM 
     my_other_table 
WHERE 
     (... conditions...) 

ben onun daha güvenli düşünüyorum için DB2 bu yanı insert açıklamada sütunları belirtmek yerine onlar olacağım varsaymak çalışır Değil

INSERT INTO my_table 
SELECT columna, columnb, 
FROM my_other_table 
WHERE (... conditions ...) 
+0

evet bu problemi tarif tablosunun oluşturulması ve çözüm – BlackTigerX

+0

Ah anlıyorum ima eder. Sybase'de bunu yapabileceğini hiç bilmiyordum. Şerefe Peter. – glasnt

4

Eğer bu şekilde denediniz (Sybase, Oracle. Bu sadece bir anlayış sorun olabilir, ya da orada. Bu Oracle meydana ... asla eksikliği olduğunu benim işim değil) etrafında?

Insert INTO my_table 
SELECT columna, columnb, 
FROM my_other_table 
WHERE (... conditions ...) 

Bana göre, siz my_table denilen için üstü kapalı yeni bir tablo oluşturmak için çalışıyor gibi görünüyor.

0

Mevcut tabloyu eklemek için 'varolan' anahtar sözcüğünü 'into' girdikten sonra kullanın.

SELECT [COLUMN LIST] INTO EXISTING [TABLE NAME] 
İlgili konular