//创建存储过程 清空一个表内一段时间的数据
CREATE PROCEDURE cleartable @starttime datetime,@endtime datetime as
begin
declare @sql nvarchar(1000)
set @sql=N'delete from hisdata where savetime between '''+CONVERT(char(19), @starttime, 20) +N''' and '' '+CONVERT(CHAR(19), @endtime, 20) +N''''
exec @sql
end
//hisdata表的设计如下
Id int
value float
state int
savetime datetime
//调用存储过程
exec cleartable '2010-7-28' ,'2010-7-29'
--执行的时候 总是提示
服务器: 消息 2812,级别 16,状态 62,行 14
未能找到存储过程 'delete from hisdata where savetime between '2010-07-28 00:00:00' and ' 2010-07-30 00:00:00''。请问是怎么回事 谢谢
或者
是不是建到别的库了
begin
declare @sql nvarchar(1000)
set @sql=N'delete from hisdata where savetime between '''+CONVERT(char(19), @starttime, 20) +N''' and '' '+CONVERT(CHAR(19), @endtime, 20) +N''''
exec (@sql)end
加上括号,没有括号是调用存储过程
加上括号,没有括号是调用存储过程
同意见,一般找不到,但又肯定建立了的话。可考虑加上数据库名,架构名来引用exec [Server].[DB_name].[Schema].cleartable '2010-7-28' ,'2010-7-29'