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

نام تاپیک: پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

  1. #1
    کاربر دائمی آواتار hamedjim
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    140

    Question پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

    دوستان سلام.

    برای برنامه ای، در یکی از spهایی مورد نیاز، باید یک پارامتر ورودی تعریف کنم که مقدار اون در دستور IN به این صورت قرار بگیره:


    SELECT ID, F1, F2, F3 FROM tbl WHERE ID IN @ID

    فیلد ID از نوع VARCHAR هست و مقدار اون مثلا میتونه به این شکل باشه:


    ('CCC')

    یا

    ('AAA', 'BBB', 'DDD')


    در واقع اینطور فرض کنید که باید یک sp که شامل یک select هست نوشته بشه. شرط Select هم برای یکی از فیلدهای رشته ای، توسط کاربر مثلا می تونه ('aaa') یا ('bbb', 'aaa') یا ... باشه. (یعنی کاربر می تونه یک یا چند گزینه دلخواه رو انتخاب کنه. پس بهترین حالت اینه که در کامند IN چک بشه). با توجه به این حالت ها، من به چه صورت می تونم این sp رو تعریف کنم؟
    آخرین ویرایش به وسیله hamedjim : شنبه 11 مرداد 1399 در 11:09 صبح دلیل: توضیحات تکمیلی

  2. #2

    نقل قول: پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

    سلام. یکی از این روش ها:
    Exec string
    Temp table
    XML
    Split String

    برای مورد شما من روش Split String رو پیشنهاد می کنم
    پارامتر رو می دین داخل یک تابع که اون رو Explode می کنه تو یه تیبل، بعد روش جوین می زنید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3
    کاربر دائمی آواتار hamedjim
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    140

    نقل قول: پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

    آقا یوسف ممنون از راهنمایی.
    نکات خیلی خیلی جالبی بود. ذهن من برای خیلی کارها در آینده باز شد.
    اما در رابطه با پیشنهاد شما، با توجه به اینکه تعداد آیتم ها نامشخصه، به نظرم استفاده از Split String یه کم سخت باشه. چون مثلا در همون مثال بالا ممکنه کاربر 1، 2، 3 یا هر تعدادی که مد نطرش هست رو در یک CheckListBox انتخاب کنه. ولی من از قبل نمی دونم تعدادش چند تاس تا بتونم split کنم.

  4. #4

    نقل قول: پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

    برای اسپلیت کردن دستور وجود داره و نیاز نیست تعداد رو بدونید.
    https://www.sqlservertutorial.net/sq...0or%20CHAR%20.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  5. #5
    کاربر دائمی آواتار hamedjim
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    140

    نقل قول: پارامتر ورودی Store Procedure ، وقتی مقداری بین یک تا چند رشته باشد

    بله درسته. حق با شماست. من بعد از ارسال پست قبلی، متوجه شدم دارم به اشتباه دستور SubString_Index(Str, Delim, Count) رو بررسی می کنم.

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

  1. نحوه ی رمزنگاری store procedure
    نوشته شده توسط lidaline در بخش Oracle
    پاسخ: 3
    آخرین پست: پنج شنبه 03 بهمن 1392, 12:18 عصر
  2. سورس پروژه گارانتی خودرو با Store Procedure
    نوشته شده توسط omidrayaneh.68 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: شنبه 30 مرداد 1389, 14:13 عصر
  3. نحوه استفاده از مقادیر باز گشتی از Store Procedure
    نوشته شده توسط vahid dot net در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: شنبه 07 شهریور 1388, 16:27 عصر
  4. پاس دادن پارامتر به Store Procedure
    نوشته شده توسط سلماس در بخش VB.NET
    پاسخ: 7
    آخرین پست: شنبه 02 مهر 1384, 22:01 عصر

برچسب های این تاپیک

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

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