View Full Version : select * from table where uid in (@id)
hamed_bostan
پنج شنبه 10 خرداد 1386, 09:15 صبح
با سلام
من یه استورد پروسیجر دارم به شکل:
create procedure ListItem
(
@USR_ID nvarchar(1000)
)
AS
select * from ITEM where USR_ID in(@USR_ID)
returns
من به این مشکل بر خوردم که من می خوام یه رشته مثل 2,3,6,8,9,12 رو به عنوام usr_id بفرستم توی پروسیجر تا شرط برقرار شه اما بهم این ایراد رو می گیره:
conversion from type bigint to type nvarchar is not valid
ممنون می شم راهنمایی کنین
حامد مصافی
پنج شنبه 10 خرداد 1386, 12:58 عصر
USER_ID از نوع BIGINT تعریف شده؟؟
Behrouz_Rad
پنج شنبه 10 خرداد 1386, 13:29 عصر
کلاس IN بیش از یک مقدار رو به صورت پارامتریک نمی پذیره!
مقاله ی زیر رو بخون:
http://www.sommarskog.se/arrays-in-sql.html
hamed_bostan
پنج شنبه 10 خرداد 1386, 13:30 عصر
بله فیلد USR_ID در دیتابیس از نوع bigint هست اما @USR_ID در اشتورد پروسیجر از نوع nvarchar چون من می هوام از دستور in استفاده کنم می خوام تعدادی از usr_id ها رو به پروسیجر بفرستم .
اصلا چطور میشه یه رشته رو داخل دستور استوردپروسیجر گذاشت؟
hamed_bostan
جمعه 11 خرداد 1386, 01:25 صبح
کمککککککککککککککککککککککک ککک
whitehat
جمعه 11 خرداد 1386, 07:14 صبح
با توجه به اینکه در SP ها ما آرایه نداریم شاید بهتر باشه شما متغیر های خود را بصورت XML کنید و بفرستید سپس در اینجا می توانید بوسیله IN از آن استفاده کنید
hamed_bostan
شنبه 12 خرداد 1386, 09:24 صبح
میشه یه نمونه مثال بزنید؟
من چطور این اعداد رو از طریق xml بفستم؟
ealireza
شنبه 12 خرداد 1386, 13:25 عصر
میشه یه نمونه مثال بزنید؟
من چطور این اعداد رو از طریق xml بفستم؟
دوست من بهترین گزینه Table Variable هست
من قبلا اینو پرسیده بودم بگردی پیداش میکنی
موفق باشید
AminSobati
یک شنبه 13 خرداد 1386, 13:55 عصر
کلاس IN بیش از یک مقدار رو به صورت پارامتریک نمی پذیره!
مقاله ی زیر رو بخون:
http://www.sommarskog.se/arrays-in-sql.html
همه چیز در این لینک تشریح شده، اگر مطالعه کنید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.