نمایش نتایج 1 تا 4 از 4

نام تاپیک: توضیح دستور identity_insert در یک پرس و جوی insert

  1. #1

    Question توضیح دستور identity_insert در یک پرس و جوی insert

    با سلام خدمت دوستان عزیز
    اگر ممکن است توضیح دهید زمانی که ویژگی identity_insert رابرای یک جدول on کنیم چه اتفاقی در insert کردن مقادیر Identity به آن جدول می افتد واگر off کنیم چطور می شود ؟ برای مثال در دستور زیر با set کردن این ویژگی چه اتفاقی می افتد؟
    set identity_insert adventureworks.production.product    on
    insert into adventureworks.production.product
    select * from adventureworks2008.production.product
    where productnumber not in
    (
    select * from
    adventureworks.production.product
    )
    set identity_insert adventureworks.production.product off

    ممنون میشم اگه راهنماییم کنید
    با تشکر

  2. #2

    نقل قول: توضیح دستور identity_insert در یک پرس و جوی insert

    فیلدی که Identity اون True باشه توی دستور Insert نمیشه مقدار دستی بهش داد. برای مثال با فرض اینکه ID is Identity ، با اجرای دستور زیر خطا میده که نمیتوان برای Id مقدار صریح تعیین کرد.
    Insert Into TableName(Id, Name) Values(1, 'Your Name')

    ولی با ON کردن identity_insert میتونید این فیلد رو دستی مقدار دهی کنید. فقط باید توجه داشته باشید که بعد از کار مورد نظرتون دوباره اونو OFF کنید.
    Set identity_insert TableName ON
    Insert Into TableName(Id, Name) Values(1, 'Your Name')
    Set identity_insert TableName OFF

  3. #3
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,027

    نقل قول: توضیح دستور identity_insert در یک پرس و جوی insert

    با سلام
    من تست کردم اما برای من اخطار میده
    Set identity_insert B_Categories ON
    Insert Into B_Categories(CategoryID, CategoryName) Values(2, 'Your Name')
    Set identity_insert B_Categories OFF

    مراحل تک تک انجام میدهم اما خطا ریلیشن میده.
    اول on میزنم
    بعد دستور Insert خطا ریلیشن میده.
    Msg 2627, Level 14, State 1, Line 2
    Violation of PRIMARY KEY constraint 'PK_B_Categories'. Cannot insert duplicate key in object 'dbo.B_Categories'.
    The statement has been terminated.

  4. #4

    نقل قول: توضیح دستور identity_insert در یک پرس و جوی insert

    به نظر می آد که CategoryID تون تکراری هست ...

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •