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

نام تاپیک: چگونگی مشخص کردن نوع عملیات حذف و بهنگام سازی

  1. #1

    چگونگی مشخص کردن نوع عملیات حذف و بهنگام سازی

    چطور میشه در sql2000 با دستورات DDL نوع عملیات حذف و update رو مشخص کرد
    کدوم نوع ها(cascade,restricted,no action,set null,set defalt) رو با دستور میشه معرفی کرد و بقیه روش ها رو چطور باید برای دیتا بیس معرفی کرد
    ارتباط جداول هم با کلید خارجی هست

  2. #2
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349
    دستور Create Table و Alter Table رو توی Books Online ببینید، توضیح داده

  3. #3
    این طور که من فهمیدم تو sql2000 فقط دو روش cascade,no action رو میشه با دستور هنگام ایجاد جدول تعریف کرد
    بقیه گزینه ها رو چطور میشه برای یه جدول تعریف کرد؟

  4. #4
    دوست عزیزم،
    ایجاد Referential Integrity دو راه کلاسیک داره:
    1) Declarative
    2) Procedural

    در روش اول شما از قابلیتهای خود FK استفاده میکنین. FK در SQL Server 2000 فقط NO ACTION و CASCADE رو پشتیبانی میکنه.
    در روش دوم شما Trigger مینویسین. در SQL Server 2000 شما اگر قابلیتهای دیگه ای نیاز دارین، باید Trigger بنویسین. در SQL Server 2005 عملیاتی مثل SET NULL و SET DEFAULT توسط FK پشتیبانی میشن و نیازی به Trigger نیست

  5. #5
    ممنونم
    میشه یه مثال بزنید برام با trigger

  6. #6
    من یه نمونه کد از یه تریگر میخوام که توش نوع عملیات رو هم مشخص کرده باشه

  7. #7
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    CREATE TRIGGER trig1
    on authors
    FOR INSERT, UPDATE, DELETE
    AS
    SELECT a.au_lname, a.au_fname, x.info
    FROM authors a INNER JOIN does_not_exist x
    ON a.au_id = x.au_id
    GO

  8. #8
    ممنونم
    حالا اگه بخوام مثلا نوع عملیات حذف رو set null بذارم دقیقا چطور باید بنویسمش

  9. #9
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    اگر فرضا" شما یک trigger برای جدول trig_example نوشته باشین با نام trig1 با دستور زیر میتونین غیر فعال کنین
    ALTER TABLE trig_example DISABLE TRIGGER trig1
    GO


    کد زیر هم برای فعال کردن Trigger استفاده میشه
    ALTER TABLE trig_example ENABLE TRIGGER trig1
    GO


    کد زیر هم برای حذف کامل trigger
    IF EXISTS (SELECT name FROM sysobjects
    WHERE name = 'employee_insupd' AND type = 'TR')
    DROP TRIGGER employee_insupd
    GO

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

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