PDA

View Full Version : حذف ستون از يك جدول



happy65_sh
پنج شنبه 30 اردیبهشت 1389, 09:00 صبح
سلام
من توي ديتابيسم دوتا جدول دارم كه كه يكي شامل name , id و ديگري code , name هست حالا مي خواهم name را از table1 به شرط وجود داشتن حذف كنم من دستور زير رانوشته ام :

alter table table1 drop column name
بار اول كه اجرا مي كنم درسته اما اگه دوباره اجرا كنم پيغام ميده كه اين ستون در اين جدول وجود نداره كه خوب منطقي هست .به همين خاطر بايد يه چكي مي كردم كه حتما table1 فيلد name را داشته باشه كه نمي دونم چهطور بايد اين كار را بكنم؛در واقع كد زير را نوشتم اما از اونجايي كه يك فيلد ديگر به نام name در ديتابيسم وجو داره مقدار true برگردانده مي شه:

com.commandtext="select name from sys.tables where name='table1' "
dr=com.executereader();
if(dr.read())
{
dr.close();
com.commandtext="select name from sys.columns where name='name'";
if(dr.read())
دستور حذف
}

حالا من با چه كوئري ميتونم بگم كه اگر در table1 فيلد name وجو داره عمليات حذف انجام بشه و در صورت وجود فيلد name در جداول ديگه كاري با عمليات حذف نداشته باشه:اشتباه:
با تشكر

محمد سلیم آبادی
پنج شنبه 30 اردیبهشت 1389, 09:47 صبح
IF EXISTS
(
SELECT 1
FROM [database_name].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table1'
AND COLUMN_NAME = 'name'
)
ALTER TABLE table1 DROP COLUMN name;