it-swarm-tr.com

Oracle'daki ikili tablo nedir?

İnsanların bu tabloya atıfta bulunduğunu duydum ve ne hakkında olduğundan emin değildi.

216
Brian G

Verilerle ne zaman ilgilenmediğinizi seçmek için kullanılan tek bir kayda sahip, bir kukla tablo türüdür, bunun yerine bazı sistem işlevlerinin sonuçlarının bir select ifadesinde olmasını istersiniz:

örneğin. select sysdate from dual;

Bakınız http://www.adp-gmbh.ch/ora/misc/dual.html

216
Sean McMains

İçinde bir element bulunan sahte bir masa. Kullanışlı çünkü Oracle gibi ifadelere izin vermiyor

 SELECT 3+4

Bu kısıtlamayı çözerek yazabilirsiniz.

 SELECT 3+4 FROM DUAL

yerine.

77
mfx

Wikipedia

Tarih

DUAL tablosu, iç görünümlere katılmak için bir tablo sağlamak üzere Oracle şirketinin Chuck Weiss tarafından oluşturuldu:

DUAL tablosunu Oracle Veri Sözlüğü'nde temel bir nesne olarak oluşturdum. Asla kendisi görülmek istemedi, ancak sorgulanması beklenen bir görünümde kullanıldı. Buradaki fikir, DUAL tablosuna JOIN yapıp tablonuzdaki her satır için sonuçta iki satır oluşturabilmenizdi. Daha sonra, GROUP BY kullanarak, ortaya çıkan birleşme, DATA kapsamı ve INDEX kapsamı (ları) için depolama miktarını göstermek üzere özetlenebilir. DUAL adı, yalnızca birinden bir çift satır oluşturma işlemi için uygun görünüyordu. 1

Yukarıdan anlaşılamayabilir, ancak orijinal DUAL tablosunda iki satır vardı (dolayısıyla adı). Günümüzde sadece bir satır var.

Optimizasyon

DUAL başlangıçta bir tablodu ve veritabanı motoru, DUAL seçimini yaparken masaya IO diskini uygulardı. Bu disk IO genellikle mantıklıydı IO (fiziksel disk erişimi içermiyordu) çünkü disk blokları genellikle bellekte önbelleğe alındı. Bu, DUAL tablosuna karşı büyük miktarda mantıksal IO sonucunu verdi.

Oracle veritabanının sonraki sürümleri optimize edildi ve DUAL tablosu hala mevcut olsa bile, veritabanı artık DUAL tablosunda fiziksel veya mantıksal IO işlevini gerçekleştirmiyor.

66
Ivan Bosnic

Bu wikipedia makalesinin netleşmesine yardımcı olabileceğini düşünüyorum.

http://en.wikipedia.org/wiki/DUAL_table

DUAL tablosu, tüm Oracle veritabanı kurulumlarında varsayılan olarak mevcut olan özel bir tek tablodur. SYSDATE veya KULLANICI gibi bir sahte sütun seçmede kullanım için uygundur. Tablo, "X" değerine sahip olan DUMMY adlı tek bir VARCHAR2 (1) sütununa sahiptir.

20
Jorge Ferreira

Oracle'daki özel masa. Bunu hesaplamalar veya sistem değişkenlerini kontrol etmek için sıklıkla kullanırım. Örneğin:

  • Select 2*4 from dual hesaplamanın sonucunu yazdırır
  • Select sysdate from dual, sunucunun geçerli tarihini yazdırır.
10
Martin08

Oracle'da yalnızca 1 satır ve 1 sütun içeren bir yardımcı program tablosu. Birkaç aritmetik işlemi gerçekleştirmek için kullanılır ve genellikle bilinen bir çıktı üretmek için ihtiyaç duyulan yerlerde kullanılabilir.

SELECT * from FROM;

"DUMMY" adlı tek bir sütuna ve burada gösterildiği gibi "X" değerine sahip tek bir satır verir:

DUMMY
----- 
X
4
AB01

Komutlarını çalıştırabileceğiniz ve sysdate gibi sonuçları geri alabileceğiniz bir tür sahte tablo. Ayrıca Oracle'ın çalışıp çalışmadığını ve sql sözdizimini vb. Kontrol etmenize yardımcı olur.

4
Kevan Emmott

DUAL hakkında daha fazla gerçek ....

http://asktom.Oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388

Burada yapılan heyecan verici deneyler ve Tom'un daha heyecan verici açıklamaları

3

DUAL tablosu, tüm Oracle veritabanı kurulumlarında varsayılan olarak mevcut olan özel bir tek tablodur. SYSDATE veya KULLANICI gibi bir sahte sütun seçmede kullanım için uygundur

Tabloda "X" değeri olan DUMMY adlı tek bir VARCHAR2 (1) sütunu var.

Bununla ilgili her şeyi http://en.wikipedia.org/wiki/DUAL_table adresinde okuyabilirsiniz.

2
Sakin

DUAL, yalnızca SQL’de kullanılabilen işlevleri kullanmak için PL/SQL geliştirmede gereklidir.

örneğin.

DECLARE
x XMLTYPE;
BEGIN
SELECT xmlelement("hhh", 'stuff')
INTO x
FROM dual;
END;
1
steevc

DUAL, çoğunlukla dizilerden bir sonraki sayıyı almak için kullanılır.

Sözdizimi: SELECT 'dizilim_adı'. DUALDEN NEXTVAL

Bu, bir satır bir sütun değeri döndürecektir (NEXTVAL sütun adı).

0
Vishwa G

Bu geri dönüş 1 boş satırına koymak için bir nesnedir. Örneğin: ikiliden 1'i seçin; 1 döndürür

ikiliden 21 + 44'ü seçin; 65 döndürür

dual'den [dizilim]. diziden bir sonraki değeri döndürür.

0
Gonzalo Merayo

select ... from dual gerektiren bir başka durum, yerleşik DBMS_METADATA.GET_DDL işlevini kullanarak farklı veritabanı nesneleri için (TABLE, FUNCTION, TRIGGER, PACKAGE gibi) kodu almak istediğimizde ortaya çıkar:

select DBMS_METADATA.GET_DDL('TABLE','<table_name>') from DUAL;

select DBMS_METADATA.GET_DDL('FUNCTION','<function_name>') from DUAL;

günümüzde IDE'lerin bir tablonun DDL'sini görüntüleme imkanı sundukları doğrudur, ancak SQL Plus gibi daha basit ortamlarda bu gerçekten kullanışlı olabilir.

EDIT

daha genel bir durum: temel olarak, standart bir SQL ifadesinde herhangi bir PL/SQL prosedürünü kullanmamız gerektiğinde veya komut satırından bir prosedür çağırmak istediğimizde:

select my_function(<input_params>) from dual;

her iki tarif de Josh Juneau ve Matt Arena tarafından 'Oracle PL/SQL Recipes' kitabından alınmıştır.

0
Newton fan 01

DUAL özel bir satırdır, tüm Oracle veritabanlarında varsayılan olarak bir sütun tablosu bulunur. DUAL’nin sahibi SYS’dir.

DUAL, Oracle Database tarafından veri fonksiyonlarıyla birlikte otomatik olarak oluşturulan bir tablodur. Her zaman işletim sistemi işlevlerini (tarih, saat, aritmetik ifade vb.) Almak için kullanılır.

SELECT SYSDATE from dual;  
0
Manjunatha B