PDA

View Full Version : مشکل با تعریف متغیر و مقدار دهی به آن در procedure



sabzehbzsa
سه شنبه 17 مرداد 1391, 14:16 عصر
سلام من یه پروژه ازمون مجازی دارم که وقتی میخواد یه ازمون رو به کاربر نشون بده اول بررسی میکنه که که کاربر به اون ازمون جواب نداده باشه
میخوام یک proc بنویسم که اول بیاد تصادفی یکی از ردیفهای جدول ازمون رو انتخاب کنه و مقدار Id اون ردیف رو داخل یک متغیر بریزه و بعد تشخیص بده که ایا این کاربر به ازمون پاسخ داده یا نه
یعنی Id تو جدول پاسخ ثبت شده یا نه
انتخاب تصادفی ردیف رو نوشتم حالا نمیدونم باید چطوری این Id رو تو متغیر بریزم این جوری که من نوشتم خطا میده
لطفا یکی بگه چکارکنم

create proc [dbo].[pcPkIDRandom]
@Ex_ID int,
@ID int
as
begin
Declare @PK int
begin
set @PK=selecttop 1 percent Pk_ID from dbo.tbl_package where Ex_ID=@Ex_ID orderbynewid()
end

Reza_Yarahmadi
سه شنبه 17 مرداد 1391, 18:23 عصر
Select جلوی مساوی رو توی پرانتز بزارید
set @PK = (select top 1 percentPk_ID from dbo.tbl_package where Ex_ID=@Ex_ID order by newid())
و یا بصورت زیر بنویسید
select top 1 @PK = percentPk_ID from dbo.tbl_package where Ex_ID=@Ex_ID order by newid()

در ضمن تعداد begin و end با همدیگه مطابقت نداره.