[email protected],可是一直都得不到值,用单步调试也也找到原因.
大家帮忙看一下原因啊,存储过程如下:
CREATE PROCEDURE Sp_Uptotalday
-- Add the parameters for the stored procedure here
@sssj varchar(8),
@time varchar(8),
@rq varchar(10),
@kqkh varchar(10)
AS
BEGIN
DECLARE @sql varchar(100)
DECLARE @oldtime varchar(50)
set @sql='select [email protected][email protected]+' from totalday where [email protected]+''' and [email protected]+''''
exec (@sql)
END
------解决方案--------------------
不知道你的oldtime是干啥用的, 下面这个存储过程很顺利地取出了表中的值.
- SQL code
create table totalday(swsb varchar(50), swxb varchar(50), xwsb varchar(50), xwxb varchar(50), wssb varchar(50), wsxb varchar(50), kqkh varchar(50), rq varchar(50))insert totaldayselect '1', '2', '3', '4', '5', '6', '001', '2007-10-20'GOcreate Procedure Sp_Uptotalday@sssj varchar(8),@time varchar(50) output,@rq varchar(10),@kqkh varchar(10)ASBegin Declare @sql nvarchar(100) declare @oldtime varchar(50) set @sql = 'SELECT @oldtime = ' + @sssj + ' from totalday where rq = ''' + @rq + ''' and kqkh=''' + @kqkh + '''' exec sp_executesql @sql, [email protected] varchar(50) OUTPUT', @oldtime OUTPUT set @time = @oldtimeENDGOdeclare @time varchar(50)exec Sp_Uptotalday 'swsb', @time OUTPUT, '2007-10-20', '001'select @timeGOdrop table totaldaydrop procedure Sp_Uptotalday