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

نام تاپیک: راهنمایی برای نوشتن procedure در mysql

  1. #1

    راهنمایی برای نوشتن procedure در mysql

    سلام دوستان
    من میخوام یه procedure برای دیتابیس mysql در php my admin بنویسم که متاسفانه هرکار کردم به در بسته خوردم و همش داره ارور میده
    اگه دوستان راهنمایی کنید که چطور باید بنویسم ممنون میشم

    داستان از این قراره که من میخوام تو یه جدولی بنویسم که نامش از الان مشخص نیست و زمان اجرا مشخص میشه .
    مثلا :
    فرض کنید که ما دو نام a, b رو که از کاربر میگیریم و حالا میخوایم چک کنیم که آیا مقدار a در جدول b وجود داره؟ اگه وجود داشت id اون رکورد رو به ما بده و اگه وجود نداشت مقدار a رو در جدول b ذخیره کنه و مثلا “OK” رو برای ما برگردونه
    انواع کدها و روش ها رو امتحان کردم ولی نشد که نشد!!!!!!!!!!!

    باتشکر

  2. #2

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    اول پیشنهاد می کنم به جای PHPMyAdmin از MySQL WorkBench استفاده کنید که کار کردن با بانک براتون خیلی راحت تر میشه و امکانات خیلی بیشتری در اختیار دارید
    ...
    اگر تعداد انتخاب ها برای نام جدول محدوده ، یعنی از بین چند جدول مشخص انتخاب میشه، می تونید یک پارامتر ورودی برای مشخص کردن جدول ایجاد کنید و از شرط با دستور CASE استفاده کنید و کد مربوط به هر جدول رو اجرا کنید
    اگر تعداد انتخابها هم محدود و مشخص نیست، می تونید از Prepared Statement استفاده کنید، یک مثال در این لینک وجود داره :
    http://stackoverflow.com/questions/3...ith-this-query
    فرض کنید که ما دو نام a, b رو که از کاربر میگیریم و حالا میخوایم چک کنیم که آیا مقدار a در جدول b وجود داره؟ اگه وجود داشت id اون رکورد رو به ما بده و اگه وجود نداشت مقدار a رو در جدول b ذخیره کنه و مثلا “OK” رو برای ما برگردونه
    مقدارها رو SELECT کنید و با Count تعدادش رو بریزید داخل یک متغیر :
    SELECT Count(ID) INTO @C FROM b WHERE MyField = 'a'

    مقدار Count توی @C ذخیره میشه و میت ونید روی مقدارش شرط بذارید که اگر مقدارش مثلا بزرگتر از یک بود یعنی وجود داره
    اگر میخواید ID همون رکورد رو بگیرید می تونید به اسن صورت عمل کنید :
    SET @MyID = 0;
    SELECT ID INTO @MyID FROM b WHERE MyField = 'a'
    IF (@MyID > 0) THEN
    SET MyOutID = @MyID;
    ELSE
    INSERT INTO b ...;
    SET MyOutMsg = 'OK';
    END IF;

    فرض می کنیم در کد بالا متغیر های MyOutMsg و MyOutID به صورت پارامترهای خروجی ( OUT ) برای SP تعریف شدن

    اگر باز مشکل وجود داشت کدی که نوشتید رو قرار بدید که بررسی بشه

  3. #3

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    خییییییییییییییییییلی ممنون
    خدا رو شکر بالاخره کار کرد.
    دلیل اصلی کار نکردن کدهای قبلی هم فکر کنم اشتباهات ریزی مثل قرار دادن نام فیلد در ( ' ) و از این جور مشکلات بود که من فکر میکردم مشکل از کد های منه

  4. #4
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    سلام
    آقا من یه کد sql دارم که بهینه نیست و در هاست جواب نمیده چون چند تا مقدار میفرسته . امکانش هست راهنماییم کنید :

    select `group_sub` from `tbl_amlak` where

    `group_sub` <> (select `group_sub` from `tbl_amlak` where `group_sub` like '%ویلا%' ) and
    `group_sub` <> (select `group_sub` from `tbl_amlak` where `group_sub` like '%آپارتمان%') and
    `group_sub` <> (select `group_sub` from `tbl_amlak` where `group_sub` like '%زمین%')
    GROUP BY `group_sub` DESC


    میگم اگر فیلد group_sub مخالف ویلا و آپارتمان و زمین بود بیا نمایش بده
    آخرین ویرایش به وسیله رضا قربانی : یک شنبه 24 بهمن 1395 در 14:19 عصر

  5. #5
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    دقیقا برعکس جستجوعه . در جستجو میگیم اگر اینا بود بیا نمایش بده . ما در اینجا میگیم اگر ویلا و آپارتمان و زمین بود نمایش نده !!!
    ممنون میشم راهنماییمون کنید . گیر کردم
    آخرین ویرایش به وسیله رضا قربانی : یک شنبه 24 بهمن 1395 در 14:34 عصر

  6. #6
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    ..... up ..... گیر کردم

  7. #7
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    ......... آپ ..... گیر کردم

  8. #8
    کاربر دائمی آواتار سعید صابری
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    برازجان
    پست
    1,431

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    خیلی مسئله را پیچیده کردی

    SELECT `group_sub` FROM `tbl_amlak` WHERE



    (`group_sub` NOT LIKE '%ویلا%' ) AND

    ( `group_sub` NOT LIKE '%آپارتمان%') AND

    ( `group_sub` NOT LIKE '%زمین%')

    GROUP BY `group_sub` DESC



    چک کن از نظر نگارشی استباه نداشته باشم همینجوری تغییر دادم...

  9. #9
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: راهنمایی برای نوشتن procedure در mysql

    ممنون جناب . درست شد

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

  1. راهنمایی برای نوشتن تابع در jquery.jqGrid
    نوشته شده توسط mohsen_r در بخش jQuery
    پاسخ: 2
    آخرین پست: یک شنبه 16 خرداد 1395, 15:35 عصر
  2. راهنمایی برای نوشتن مقاله در زمینه پایگاه داده مسنجرهای موبایل
    نوشته شده توسط k1.technology در بخش سایر پایگاه‌های داده
    پاسخ: 0
    آخرین پست: جمعه 18 مهر 1393, 12:21 عصر
  3. راهنمایی برای نوشتن رویدادها در روزها
    نوشته شده توسط hajizadeh.m در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: چهارشنبه 16 آذر 1390, 09:19 صبح
  4. راهنمایی برای نوشتن یک برنامه AddressBook در جاوا
    نوشته شده توسط unix_svr4 در بخش برنامه‌نویسی جاوا
    پاسخ: 5
    آخرین پست: یک شنبه 17 شهریور 1387, 01:39 صبح
  5. پاسخ: 4
    آخرین پست: دوشنبه 19 تیر 1385, 15:00 عصر

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

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