ORACLE VEYA SQL SANAL SÜTÜN OLUŞTURMAK AS
#1
Arkadaşlar oracle de veya SQL de tabloda olmayan fakat sanal olarak göstere bilceğimiz bir sql sorgusu yaratma kodlarını istiyorum .

Şöyle açıklayayım :

elimizde bir veritabanı var bu veri tabanınında vize final olanlarımız var istediğim şu ;
notu 70 den yukarı ise geçti aşağı ise kaldı fakat tablomuzda da yazdırmıyacağız sadece göstermek için . Galiba bunu AS komutu ile yapılıyor nasıl yapılıyor bilmiyorum yardım edebilen arkadaşlar varsa çok sevinirim



  Alıntı
Bu mesajı beğenenler:
#2
MS SQL Server'da Geçici Tablo Kullanımı (Temporary Table ve Table Variable)

SQL Server ile iki türde geçici tablo oluşturma imkanımız mevcuttur.
Birinci yöntem olarak geçici tabloları (Temporary tables)
İkinci yöntem olarakta değişken tablolar (Table variables) kullanabiliriz.
Bu iki yöntemin diğerine göre avantajlı ve dezavantaı yönleri bulunmaktadır. Şimdi kısaca bu iki yönteme göz atalım.
Geçici Tablolar (Temporary Tables)
Temel olarak bakarsak geçici tabloların kullandığımız normal tablolardan başlıca farkı sistem veritabanlarından olan Tempdb'de tutuluyor olmasıdır. Kullandığımız tablonun geçici olduğunu SQL Server'a bildirmek için tablo adından önce "#" işareti yazmamız gerekmektedir. Basit olarak bir geçici tabloyu aşağıdaki örneklerdeki gibi oluşturabiliriz. (Tablo isminden önce gelen "#" işaretine dikkat ediniz)

CREATE TABLE #Urunler_Tmp(
[UrunID] [int],
[KategoriID] [int],
[UrunAdi] [varchar](150),
[Siralama] [int])

SELECT * INTO #Urunler_Tmp FROM Urunler

Dilerseniz normal tablolarda olduğu gibi geçici tablolarda da indeks oluşturabilir identity alan tanımlayabilirsiniz.

Herhangi bir uygulamadan (Windows, web, mobil v.b.) SQL Server'a bağlandığımız zaman her bağlantı için SQL Server bir oturum (Session) açar. Geçici tablolara sadece oluştutuldukları oturumdan ulaşılabilir. Eğer oluşturulan geçici tablolara diğer oturumlardan (uygulamalardan) erişilmesi isteniyorsa genel geçici tablo (Global temporary tables) kullanmamız gerekmektedir. Genel geçici tabloları SQL Server'a bildirmek için tablo adından önce "##" işareti yazmamız gerekmektedir. Geçici tabloların (#) tüm özellikleri genel geçici tablolar (##) içinde aynıdır.
Geçici tabloları kullanımımız bittikten sonra silmek iyi bir alışkanlıktır. Fakat silmezsek SQL Server oluşturduğumuz geçici tabloyu oturumumuz kapandıktan sonra kendisi silecektir.

DROP TABLE #Urunler_Tmp

Değişken Tablolar (Table Variables)
Değişken tablolar yapı olarak geçici tablolara benzerler fakat geçici tablolardan farklı olarak bir kısmı tempdb'de bir kısmı ise SQL Server olarak kullandığımız sunucunun belleğinde (memory) tutulurlar. Yaygın ve yanlış olarak bilinen değişken tabloların sadece bellekte tutulduğudur. Oysa bu tabloların bir kısmı bellekte bir kısmı ise disk üzerinde depolanır. Örnek olarak bir geçici tabloyu aşağıdaki gibi oluşturabiliriz. (Tablo isminden önce gelen "@" işaretine dikkat ediniz)

DECLARE @Urunler_Tmp TABLE (
[UrunID] [int],
[KategoriID] [int],
[UrunAdi] [varchar](150),
[Siralama] [int])

* Değişken tablolara erişim geçici tablolara göre daha hızlı olmaktadır fakat değişken tablo içerisinde fazla miktarda veri tutmak sunucunun belleğini dolduracağı için performans kayıplarına yol açabilir.
* Değişken tablolar, kullanıcı tanımlı fonksiyonlar (User Defined Functions) içinde kullanılabilirken, geçici tabloların UDF içinde kullanımı mümkün değildir.
* Stored procedure'ler içerisinde ise hem geçici tabloları hem de değişken tabloları kullanabiliriz.
* Geçici tablolar üzerinde indeks tanımlayabiliriz fakat değişken tablolarda indeks tanımlayamayız.
* Değişken tablolar sadece SQL Server 2000 ve daha üst versiyonlarında kullanılabilir.
* Değişken tablolar kullanıldıkları prosedür, fonksiyon yada scope dışına çıkıldığında SQL Server tarafından silinir, ayrıca drop edilmelerine gerek yoktur.
* Geçici tablolar SELECT * INTO #Urunler_Tmp FROM Urunler örneğinde olduğu gibi oluşturulabilirken, değişken tablolar bu şekilde oluşturulamaz.
* Değişken tablolar truncate edilemez.
*Değişken tablolar tanımlandıktan sonra (declare) alter table ile düzenlenemez.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  SQL SORGU Tablo Birleştirme (Oracle & SQL) Hakkında Yardım İstiyorum djshowtime 7 6.571 13-12-2016, 15:28
Son Mesaj: dursunali.atmaca
  mssql sütün birleştirme hedefkaya 3 2.115 05-07-2016, 21:06
Son Mesaj: dsezgin
  Her bir cihaz için ayrı tablo oluşturmak mı? Yoksa tek bir tabloda toplamak mı? Avant engineermg 2 1.976 12-08-2013, 14:37
Son Mesaj: onur_can
  Ms Sql Like Komutu ile sütun verisi kullanma demondivx 2 3.506 08-08-2012, 09:52
Son Mesaj: demondivx
  mdb veya sdf dosyasını serverde kullnmak Orion 8 5.656 26-09-2010, 20:25
Son Mesaj: Orion
  SqlCmd Kullanarak DataBase,Table ..... Oluşturmak şahrapçi 6 8.243 25-02-2009, 22:40
Son Mesaj: şahrapçi

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi