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

نام تاپیک: دستور معادل cursor در sql

  1. #1

    دستور معادل cursor در sql

    با سلام
    من نیاز دارم که دستوری شبیه به کرسر بنویسم که به ازای هر رکوردی که واکشی میشه و توی یه جدول مجازی ریخته میشه یه سری داده دیگه هم از یکسری جدول دیگه واکشی بشه و توی جدول مجازی ریخته بشه و پشت سر هم بودن Master Detail اطلاعات لازمه
    با cursor که می نویسم سرعت خیلی پایینه و اصلا نمیشه به عنوان یه کوئری برای وب استفاده کنم
    سوالم اینه آیا دوستان می دونن چه روشی را جایگزین کنم

    ممنون و متشکرم لطفا راهنمایی بفرمایید

  2. #2

    نقل قول: دستور معادل cursor در sql

    سلام
    شما باید از منطق join ها و Union ها استفاده کنید.
    اگر به صورت Set Based فکر کنید خیلی راحت میتونید مشکلتون رو حل کنید.

  3. #3
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,170

    نقل قول: دستور معادل cursor در sql

    سلام

    گرچه این تاپیک کمی قدیمی شده ولی چون خودم این مشکل رو داشتم گفتم یک مثال ساده رو با کد پست کنم

    در تصویر زیر من 3 تا جدول دارم. از سمت چپ چدول tbl1 گروه بندی اصلی و جدول tbl2 گروه بندی فرعی هستش که به ازاء هر گروه اصلی باید تمام گروه های فرعی در جدول tbl3 بدون تکرار ثبت بشه:

    sql.png

    برای انجام اینکار در ابتدا Cursor استفاده کردم ولی در انتها به کدهای زیر تغییر دادم


    INSERT INTO dbo.tbl3
    ( fldCategoryID ,
    fldSubCategoryID
    )

    ( SELECT T1.fldID ,
    T2.fldID

    FROM tbl1 AS T1
    CROSS APPLY ( SELECT *
    FROM tbl2
    WHERE fldID NOT IN ( SELECT fldSubCategoryID
    FROM tbl3
    WHERE fldCategoryID = T1.fldID)
    ) AS T2
    );


    جدول tbl1 , tbl2 هیچگونه Relationی ندارند.

    حالا هر بار که ردیف جدیدی به جدول tbl1 و یا جدول tbl2 اضافه می شه کافیه که کدهای بالا را اجرا کنم و تمام آیتم های جدید رو در جدول tbl3 اضافه کنم

تاپیک های مشابه

  1. دستور INNER JOIN در SQL
    نوشته شده توسط spicirmkh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: پنج شنبه 05 آبان 1390, 10:40 صبح
  2. معادل between در sql در LINQ
    نوشته شده توسط alidaniyali در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: چهارشنبه 22 دی 1389, 22:28 عصر
  3. سوال: cursor در sql server
    نوشته شده توسط mhf1927 در بخش SQL Server
    پاسخ: 4
    آخرین پست: دوشنبه 09 آذر 1388, 15:00 عصر
  4. معادل دستورات در Sql Server 2005
    نوشته شده توسط RK977877 در بخش SQL Server
    پاسخ: 3
    آخرین پست: یک شنبه 26 خرداد 1387, 16:52 عصر
  5. معادل autonumber در sql server
    نوشته شده توسط Batman در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: یک شنبه 31 تیر 1386, 07:23 صبح

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

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