مشکل با تعریف متغیر و مقدار دهی به آن در procedure
سلام من یه پروژه ازمون مجازی دارم که وقتی میخواد یه ازمون رو به کاربر نشون بده اول بررسی میکنه که که کاربر به اون ازمون جواب نداده باشه
میخوام یک 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
نقل قول: مشکل با تعریف متغیر و مقدار دهی به آن در procedure
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 با همدیگه مطابقت نداره.