PDA

View Full Version : تغییر ساختار جداول sql با کد نویسی



haste asli
پنج شنبه 15 آذر 1386, 12:36 عصر
با سلام
دوستان من یک دیتابیس sql دارم که میخوام از طریق کد نویسی تغییرات زیر را توش اعمال کنم

1-یه جدول دارم که روی فیلد کلید اون identity(1,1) set شده حالا میخوام با دستور alter table یا هر دستور دیگه ای identity رو از روش بردارم
2- میخوام یک relation تو یکی از diagram هام بین دو جدول تعریف کنم و یک relation دیگه را حذف کنم .

ممنمون میشم اگه کسی می دونه کمک کنه .

AminSobati
پنج شنبه 15 آذر 1386, 22:13 عصر
دوست عزیزم،
1) متاسفانه چنین دستوری وجود نداره. فقط باید اطلاعات اون فیلد رو به یک فیلد جدید کپی کنین (به کمک دستور Update) و بعد فیلد قدیمی رو حذف کنین
2) یک Relation در حقیقت یعنی Foreign Key Constraint:



create table Parent(
c1 int primary key)
go

create table Child(
c1 int)
go

alter table Child
add constraint MyFK foreign key (c1) references Parent(c1)
go

alter table Child
drop constraint MyFK

رضا عربلو
جمعه 16 آذر 1386, 12:03 عصر
خود Managment Studio از چه روشی برای تغییر نام یا نوع یک فیلد، حذف یا اضافه کردن یک فیلد استفاده می کنه؟

linux
جمعه 16 آذر 1386, 17:10 عصر
خود Managment Studio از چه روشی برای تغییر نام یا نوع یک فیلد، حذف یا اضافه کردن یک فیلد استفاده می کنه؟

managmet studio یا هر ابزار دیگه یک front end هست شما اگر ابزار profiler را فعال کنید دقیقا می توانید ببنید که managmet studio هم دقیقا همین دستورات sql را به سرور می فرستد.

haste asli
شنبه 17 آذر 1386, 09:38 صبح
managmet studio یا هر ابزار دیگه یک front end هست شما اگر ابزار profiler را فعال کنید دقیقا می توانید ببنید که managmet studio هم دقیقا همین دستورات sql را به سرور می فرستد.

با سلام
اگه ممکنه بفرمائید این profiler را چطور می شه فعال کرد و نتایجش رو کجا می شه دید.
ممنون

haste asli
شنبه 17 آذر 1386, 09:46 صبح
دوست عزیزم،
1) متاسفانه چنین دستوری وجود نداره. فقط باید اطلاعات اون فیلد رو به یک فیلد جدید کپی کنین (به کمک دستور Update) و بعد فیلد قدیمی رو حذف کنین


با تشکر از جوابتون
مشکل اینجاست که فیلد مورد نظر من یک primary key هستش و اجازه حذف اون رو تو کد نمیده

AminSobati
یک شنبه 18 آذر 1386, 12:52 عصر
اگر اجازه نمیده، اول خاصیت PK بودن رو با دستور ALTER TABLE...DROP CONSTRAINT ازش بگیرین

ama55555
دوشنبه 19 آذر 1386, 17:48 عصر
اگر با application می خواهید این کار را انجام دهید می توانید از SQLSMO یا SQLDMO استفاده کنید.