alter table ile kolon modifye

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ı
skyking
Üye
Mesajlar: 136
Kayıt: 09 Kas 2005 12:52
Konum: Antalya

alter table ile kolon modifye

Mesaj gönderen skyking »

slm arkadaslar

Kod: Tümünü seç

ALTER TABLE MyTable 
ALTER COLUMN MyColumn 
VARCHAR(50) 
NOT NULL 
DEFAULT 'YOK'

bir kolonu type değiştirmek istiyorum ve default deger atamak istiyorum bir turlu olmuyor bunun nedeni nedir sizce

DEFAULT 'YOK' yazan yeri kaldırsam oluyor ama defalt deger almıyor bu seferde

komut satırım yanlısmı acaba?
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Kolonun önceki yapısını ve key olarak kullanılıp kullanılmadığını belirtir misiniz?

İyi çalışmalar.
Kullanıcı avatarı
skyking
Üye
Mesajlar: 136
Kayıt: 09 Kas 2005 12:52
Konum: Antalya

Mesaj gönderen skyking »

ozaman soyle değiştiriyorum soruyu

eger primary key bir alanı primary keyini kaldırmak istiyorum?

yada tam tersini yapmak istiyorum?

yada primary key olmayan index olmayan yani duz bir fielda default deger atamak istersem nasıl bir kod yazmam gerekir?

yardımlarınız için simdiden cok tesekkurler.
Kullanıcı avatarı
akgun83
Üye
Mesajlar: 106
Kayıt: 26 Eyl 2003 11:34

Mesaj gönderen akgun83 »

Eğer daha önce o alana default değer atanmamışsa;

Kod: Tümünü seç

ALTER TABLE TABLOADI WITH NOCHECK ADD 
	DEFAULT ('DENEME') FOR ALANADI
ile yapılabilir.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
bu modifiye etmek. kolon tanımını değiştirmeyemi eşdeğer acaba.
String bir alanı kod ile integer bir alana çevirmek anlamınamı geliyor. :oops:

Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Primary Key'lerle ilgili şu örnek SQL'leri sırayla uygularsan veya incelersen istediğin cevapları bulabileceksin:

Kod: Tümünü seç

CREATE TABLE MYTEST0001 (
  KOD INTEGER NOT NULL,
  ADI_SOYADI VARCHAR(50) NOT NULL,
  ACIKLAMA VARCHAR(100));

ALTER TABLE MYTEST0001 ADD CONSTRAINT PK_MYTEST0001 PRIMARY KEY (KOD);

ALTER TABLE MYTEST0001 DROP CONSTRAINT PK_MYTEST0001;

INSERT INTO MYTEST0001 VALUES (1, 'Egehan Can', NULL);

INSERT INTO MYTEST0001 VALUES (2, 'Tunay Can', NULL);

INSERT INTO MYTEST0001 VALUES (3, 'Hakan Can', NULL);

ALTER TABLE MYTEST0001 ADD CONSTRAINT PK_MYTEST0001 PRIMARY KEY (KOD);

ALTER TABLE MYTEST0001 DROP CONSTRAINT PK_MYTEST0001;

INSERT INTO MYTEST0001 VALUES (1, 'Filiz Can', NULL);

/*Şimdi hata oluşacak*/
ALTER TABLE MYTEST0001 ADD CONSTRAINT PK_MYTEST0001 PRIMARY KEY (KOD);
Özetle Primary Key eğer sonradan oluşturulacaksa tablodaki kayıtların ona uygun yani UNIQUE vs. olması ve DROP için de başka ilişkinin olmaması ve CONSTRAINT olarak bir adının olması gerekir.

İyi çalışmalar.
Cevapla