Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Daha İyi Bir Hizmet İçin Lütfen Üye Olunuz...
Yazilim Öğrenmenin Tek Adresi...
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Yazilim Öğrenmenin Tek Adresi...

En Kapsamlı Visual Basic Sitesi
 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» C İle Banka Otomasyonu Acill
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimeC.tesi Ocak 09, 2010 4:51 pm tarafından Ebubekir_Kara

» C++'la yapılmış basit ATM programı
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimeÇarş. Ara. 02, 2009 4:43 am tarafından 1221ibrahim

» Bir Oyunda Puan Sistemi Yapma
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePtsi Kas. 02, 2009 1:49 pm tarafından KonYalıCoder

» Ipconfig Komutu
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Çalıştır Komutları
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:33 pm tarafından OguzhanUyanik

» Domain Adresleri
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Msconfig Nedir? Ayarları ve Özellikleri
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:32 pm tarafından OguzhanUyanik

» Windows Vista & Türkçe Kurulumu Resimli anlatım!
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Format atmak ve Türkçe windows xp kurulumu (resimli anlatım)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:31 pm tarafından OguzhanUyanik

» Windows Xp Hızlandırma
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimePaz Eyl. 13, 2009 5:30 pm tarafından OguzhanUyanik

En iyi yollayıcılar
OguzhanUyanik (472)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
mehmet bozer (78)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
asi_esra (4)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
mysterious_el (4)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
1221ibrahim (3)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
igny (3)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
tarkantr2000 (2)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
myildiz.16 (2)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
KAPORTACI (2)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 
tolgakesan (2)
Veri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_lcapVeri tabanındaki belirli bir veri tipini otomatik değiştirme I_voting_barVeri tabanındaki belirli bir veri tipini otomatik değiştirme Vote_rcap 

 

 Veri tabanındaki belirli bir veri tipini otomatik değiştirme

Aşağa gitmek 
YazarMesaj
OguzhanUyanik
Mareşal
Mareşal
OguzhanUyanik


Yengeç Mesaj Sayısı : 472
Kayıt tarihi : 31/08/09
Yaş : 32
Nerden : Konya
İş/Hobiler : Bilgisyar-Yazılım
Lakap : Nediz

Veri tabanındaki belirli bir veri tipini otomatik değiştirme Empty
MesajKonu: Veri tabanındaki belirli bir veri tipini otomatik değiştirme   Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_minitimeSalı Eyl. 08, 2009 2:24 pm

Büyük veri tabanlarında veri tipini veya uzunluğunu nasıl değiştirirsiniz?

En az 100 tabloluk bir veri tabanınız olsun, ve bu veri tabanında her tabloda Degistiren_Kullanici_Kodu adında bir alanınız olsun. Ve o alanın veritipi varchar uzunluğu 10 olsun. Sizden şunu istediler:




- X veri tabanındaki Kullanicilar tablosundaki Kullanici_Kodu alaninin uzunlugunu 20 karakter yap ve tüm tablolardaki Degistiren_Kullanici_Kodu'nun uzunluğunu da buna göre 20 yap.




100 tablo her tabloyu açıp değişikliği yapıp kaydetmek 30 sn sürse (100*30)/60 = 50 dakika! Molaları ve ufak tefek hataları da sayarsak olur sana yarım mesai Veri tabanındaki belirli bir veri tipini otomatik değiştirme Icon_smile)



Bunun yerine aşağıdaki kodu kullanarak işi bir kaç saniyede bitirebilirsiniz:



CREATE PROCEDURE P_CHANGE_DATA_TYPE

--@lik

@TableName varchar(100)=null, --Tablo adı tekbir tablo değiştirillecekse


@FieldName varchar(100)=null, --Alan adı (LIKE yani % kullanılabilir)

@CurrDataType varchar(100), --Şuanki veri tipi

@CurrDataTypeLen int=null, --Eğer varchar,char,nvarchar v.b. ise şuanki uzunluğu yoksa NULL

@CurrDataTypePrec int=null, --NUMERIC veri tipi gibi uzunluğu sabit olmayan bir numerik veri tipi ise


--genişliği yoksa NULL

@CurrDataTypeScale int=null, --NUMERIC veri tipi gibi virgülden sonrası sabit olmayan veri tipi ise

--ondalık genişlik yoksa NULL

@NewDataType varchar(100), --Yeni veri tipi

@NeDataTypeLen int=null, --Eğer varchar,char,nvarchar v.b. ise yeni uzunluğu yoksa NULL


@NewDataTypePrec int=null, --NUMERIC veri tipi gibi uzunluğu sabit olmayan bir numerik veri tipi ise

--genişliği yoksa NULL

@NewDataTypeScale int=null --NUMERIC veri tipi gibi virgülden sonrası sabit olmayan veri tipi ise

--ondalık genişlik yoksa NULL

AS

/* Verilen tipteki tüm kolonların veri tiplerini değiştirir @lik 07/05/2003*/


/*Parametrelere göre alanların veri tiplerini değiştiri @lik 07/11/2007*/

DECLARE

@ColumnName VARCHAR(100),

@DataType VARCHAR(100)






BEGIN TRANSACTION

DECLARE Tables CURSOR FOR

SELECT o.name TableName, c.name ColumnName

FROM sysobjects o,

systypes t,

syscolumns c

WHERE c.id = o.id


AND o.type = 'U' --Tablolar

AND (o.name LIKE @TableName OR @TableName IS NULL)

AND (c.name LIKE @FieldName OR @FieldName IS NULL)

AND c.xusertype = t.xusertype

AND t.name = @CurrDataType

AND (c.length = @CurrDataTypeLen OR @CurrDataTypeLen IS NULL)


AND (c.xprec = @CurrDataTypePrec OR @CurrDataTypePrec IS NULL)

AND (c.xscale = @CurrDataTypeScale OR @CurrDataTypeScale IS NULL)

ORDER BY o.name

OPEN Tables

FETCH NEXT FROM Tables INTO @TableName, @ColumnName



WHILE @@FETCH_STATUS = 0

BEGIN


SET @DataType = "



IF NOT @NeDataTypeLen IS NULL

SET @DataType = @NewDataType '(' CONVERT(VARCHAR(50),@NeDataTypeLen) ')'



IF NOT @NewDataTypePrec IS NULL OR @NewDataTypePrec > 0

BEGIN


SET @DataType = @DataType '(' CONVERT(VARCHAR(50),@NewDataTypePrec )

IF NOT @NewDataTypeScale IS NULL OR @NewDataTypeScale > 0

SET @DataType = @DataType ',' CONVERT(VARCHAR(50),@NewDataTypeScale)

SET @DataType = @DataType ')'

END

-- PRINT 'ALTER TABLE ' @TableName ' ALTER COLUMN ' @ColumnName ' ' @DataType


EXEC('ALTER TABLE ' @TableName ' ALTER COLUMN ' @ColumnName ' ' @DataType)



FETCH NEXT FROM Tables INTO @TableName, @ColumnName

END



IF @@error != 0

ROLLBACK TRANSACTION

ELSE


COMMIT TRANSACTION



CLOSE Tables

DEALLOCATE Tables

GO




Yukarıda verilen örnek için kod şu şekilde olmalı:

EXEC dbo.P_CHANGE_DATA_TYPE default,'�gistiren_Kullanici_Kodu%','varchar',10,default,default,'varchar',20,default,default




Veri tabanında tüm tablolarda alan isimleri içinde Degistiren_Kullanici_Kodu olanların veri tipi uzunlukları 20 olacaktır.





Örnek2:

--Tek bir tabloyu değiştirmek için:

[size=9]EXEC dbo.P_CHANGE_DATA_TYPE 'Tablo_Adı','�gistiren_Kullanici_Kodu%','varchar',10,default,default,'varvarchar',20,default,default






Örnek3:
[/size]
[size=9]


--[size=9]Degistiren_Kullanici_Kodu
alanı int olsun onu float yapalım

EXEC dbo.P_CHANGE_DATA_TYPE 'Tablo_Adı','�gistiren_Kullanici_Kodu%','int',default,default,default,'float',default,default,default

[/size][/size][size=9]Veri tabanındaki belirli bir veri tipini otomatik değiştirme Info2[size=9]Görüldüğü üzere uzunluk yollamadım çünkü bu veri tiplerinin uzunlukları sabit.






Örnek4:
[/size][/size][size=9][size=9]

--[size=9]Degistiren_Kullanici_Kodu
alanı float olsun onu numeric(15,3) yapalım

EXEC dbo.P_CHANGE_DATA_TYPE default,'�gistiren_Kullanici_Kodu%','float',default,default,default,'numeric',default,15,3

[/size][/size][/size][size=9][size=9]Veri tabanındaki belirli bir veri tipini otomatik değiştirme Info2[size=9]Görüldüğü üzere yeni veri tipine uzunluk yollamadım çünkü bu veri tipi nümerik ve tam sayı ile ondalık uzunluğu var.Yani uzunluk özelliğini sadece metinsel veri tiplerinde (text hariç) kullanıyoruz.






Örnek5:
[/size][/size][/size][size=9][size=9][size=9]

--[size=9]Degistiren_Kullanici_Kodu
alanı numeric(15,3) olsun onu numeric(18,4) yapalım

EXEC dbo.P_CHANGE_DATA_TYPE default,'�gistiren_Kullanici_Kodu%','numeric',default,15,3,'numeric',default,18,4
[/size][/size][/size][/size]
Sayfa başına dön Aşağa gitmek
https://yazilimnet.yetkin-forum.com
 
Veri tabanındaki belirli bir veri tipini otomatik değiştirme
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Veri Tabanı İşlemleri (1. Bölüm)
» Progress'te Excel'e Veri Atma
» Veri Bütünlüğü (Constraint, default ve rule nesnesi tanımlama)
» Veri Tabanında Hata Yakalama Boş geçilemez ve Mükerree kayıt girişi Engelleme
» 10 tabanındaki sayıyı n tabanına çeviren program.

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Yazilim Öğrenmenin Tek Adresi... :: Masaüstü Programlama :: Veritabanları & SQL-
Buraya geçin: