PDA

View Full Version : مشکل در store procedure



FatemehB
چهارشنبه 09 شهریور 1384, 11:56 صبح
سلام دوستان

CREATE PROCEDURE [dbo].[a] @st char(10),@lact int
AS
select avg(@st) from data
where lactno=@lact
GO

من می خواهم اسم یک ستون را از کاربر بگیرم و میانگین آن ستون را برگردانم ولی
پیغام زیر مواجه میشم :
Error 409 : The average aggregate operation cannot take a char data type as an argumeny

آیا راهی برای این کار وجود دارد؟؟؟
من خیلی به کمک احتیاج دارم. با تشکر

AminSobati
چهارشنبه 09 شهریور 1384, 22:29 عصر
کاملا درسته، نام فیلد نباید پارامتر باشه. شاید تنها راه این باشه که از Dynamic TSQL Execution استفاده کنین.
مثلا چیزی شبیه به این (آزمایش نکردم):


CREATE PROCEDURE [dbo].[a]
@st VARchar(10),@lact int
AS
declare @tmp varchar(10)
set @tmp='select avg(' + @st + ') from data where lactno=' + @lact
exec (@tmp)