PDA

View Full Version : مشکل در تغییر نوع یک فیلد



mohinsoft
یک شنبه 19 آبان 1387, 11:32 صبح
با سلام من با کد زیر میخوام نوع فیلد یک جدولم رو عوض کنم




alter table mytable alter column myfield numeric


این فیلد قبلا از نوع nvarchar(50) بوده و جدول خالی است ولی با اجرای کد فوق با خطای زیر مواجه میشوم


Server: Msg 5074, Level 16, State 1, Line 1
The object 'DF_Users_ReserveUid' is dependent on column 'reserveuid'.
Server: Msg 4922, Level 16, State 1, Line 1
ALTER TABLE ALTER COLUMN reserveuid failed because one or more objects access this column.

پیشاپیش تشکر

ehsaniran59
یک شنبه 19 آبان 1387, 12:29 عصر
ممکن است در دیاگرام یا Store Procedure از این فیلد استفاده شده باشد .

mohinsoft
یک شنبه 19 آبان 1387, 12:37 عصر
سلام
نه برای این فیلد هیچ وابستگی تعریف نشده است،حتی فیلد کلید هم نیست در ضمن اگر در یک SP استفاده شده باشد مشکلی رخ نمیدهد.
دوستان کمک

MajerajooyeKhallagh
یک شنبه 19 آبان 1387, 13:41 عصر
دوست عزیز:
شما در دیتابیستون آبجکتی با نام 'DF_Users_ReserveUid' دارید که از فیلد ReserveUid در حال استفاده میباشد بنابراین اجازه alter کردن این فیلد را نمیدهد,بنابراین اسکریپت این Object را نگه دارید و سپس آن را drop کنید حال میتوانید Type این فیلد را تغییر دهید سپس دوباره با اجرای اسکریپتی که نگه داشتید,'DF_Users_ReserveUid' را ایجاد نمایید.

mohinsoft
یک شنبه 19 آبان 1387, 20:02 عصر
ممنون از توجه شما
اما شما معنی پیغام خطا رو واسم خوندید نه چنین چیزی نیست من یک جدول معمولی ساختم که هیچ وابستگی به جایی ندارد باز هم همین پیغام خطا رو میده
فیلد مذکور دیفالت ولییو و دیسکریپشن داره حدس میزنم بخاطر این دو مورد باشه ولی چرا و چطور میشه حلش کرد؟

mohinsoft
یک شنبه 19 آبان 1387, 20:32 عصر
دوستان سلام مجدد
مشکل پیدا شد
چون ستون قبلا از نوع رشته با مقدار پیشفرض '' بود هنگام تبدیل به نوع عددی دچار مشکل میشد یکی از راه حلها تغییر مقدار پیشفرض از '' به 0 صفر هست ولی سوال اینجاست که چطور با کد نویسی این عمل امکان پذیر است؟
پیشاپیش از کمک دوستان کمال تشکر را دارم