PDA

View Full Version : select در داخل دستور insert



masoudtbt
سه شنبه 28 اردیبهشت 1389, 02:32 صبح
با سلام خدمت دوستان

چطور میشه تو دستور query وقتی می خواهیم insert کنیم همونجا max مثلا ردیف رو پیدا کنیم بعد تو query بیاریم.یعنی میخوام یه متغیر تعریف کنم تو دستور insert ،اگه هر چی بود یکی بهش اضافه کنه بعد اینرو insert کنم و اگه null بود برابر 0 بشه.
میخوام فقط یک با connrction به db بزنم.
اگه کسی از دوستان این کارو کرده دستور select string اش رو برام بنویسه
ممنون

hojjatshariffam
سه شنبه 28 اردیبهشت 1389, 02:56 صبح
اینو تو یه جدولی تو خود اس کیو ال امتحان کردم
فقط کاری که قراره بکنی اینه که اسم دیتا بیس ، فیلد ها و مقدارشون رو تغییر بدی



INSERT INTO [LalehMilkData].[dbo].[User_tbl]
([User_Id]
,[User_Name]
,[Password]
,[U_Name]
,[Role]
,[isOnLine]
,[State])
VALUES
((Select MAX([User_Id])+1 from [LalehMilkData].[dbo].[User_tbl])
,'Ali'
,'123'
,'Ali Reza'
,'Managment'
,'false'
,'true')
GO


اگه کار کرد یه ندایی بده

hojjatshariffam
سه شنبه 28 اردیبهشت 1389, 03:00 صبح
null بودنشو هم خودت تست کن
فکر کنم تابع Max اگه رکوردی در جدول نباشه مقدار صفر رو برگردونه ، یادم رفته
تابع Count که صفر بر می گردوند ولی Max یادم رفته
یه امتحانی بکن و خبرشو بده

taghvajou
سه شنبه 28 اردیبهشت 1389, 04:00 صبح
خیلی جالب بود! دمتون گرم. حالا چطور میشه تو کوریمون یه تریگر یا پروسیجر رو که قبلا نوشتیم به کار گرفت؟

armiin
جمعه 31 اردیبهشت 1389, 11:43 صبح
خب به نظر من شما میتونید اول یک Function تعریف کنید که مقدار Max رو برگردونه بعد موقع Insert از اون Function استفاده کنید !