PDA

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



khoshblagh
جمعه 13 دی 1392, 09:33 صبح
با سلام خدمت دوستان
میخواهم با store procedure به شرط موجود بودن فیلد خاص نسبت به حذف آن از جدول اقدام گردد. ولی از کلمه THEN خطا میگیرد.مثل اینکه اضافه است. و اگر آنرا بردارم عمل حذف صورت نمیگیرد. به نظر شما علت چیست؟ متشکرم

[/CODE]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE usp_DropColumnKharidFasli_temp
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS (SELECT * FROM information_schema.columns
WHERE table_name = 'tblKharidFasli_temp' AND column_name = 'NakhalesSorVaz')
THEN
ALTER TABLE tblKharidFasli_temp DROP COLUMN NakhalesSorVaz;
END
GO
[/CODE]

hamid_hr
جمعه 13 دی 1392, 11:04 صبح
اگه درست متوجه شده باشم if رو اشتباه نوشتين
http://technet.microsoft.com/en-us/library/aa933214(v=sql.80).aspx
دستور if رو بايد از begin , end استفاده كنين

hossein_h62
جمعه 13 دی 1392, 11:05 صبح
بجای THEN از Begin استفاده کنید!

khoshblagh
جمعه 13 دی 1392, 12:07 عصر
بجای THEN از Begin استفاده کنید!
نتیجه همان پیام خطا:
114774

hossein_h62
جمعه 13 دی 1392, 12:40 عصر
نتیجه همان پیام خطا:
114774
سینتکس کدتون با موردی که در پست 3 گفتم اصلاح میشه؛
این خطا نشون میده فیلدی که دارین حذف میکنید با فیلد دیگه ای ارتباط داره! این وضعیت رو چک کنید.

پ.ن : قبل از اینکه sp رو که نوشتید در محیط دلفی اجرا بگیرید از صحت عملکردش در محیط MS SQL Server مطمئن بشید چون در صورت بروز خطا بهتر میتونید متوجه اشکال بشید.