如下为存储过程:
GO
/****** 对象: StoredProcedure [dbo].[sp_Insert_atemp] 脚本日期: 08/02/2012 14:24:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sp_Insert_atemp]
-- @inserStartTime char(10),
-- @inserEndTime varchar(20),
-- @rtn int output
as
BEGIN
SET NOCOUNT ON;
declare @ObjID char(128)
declare @contentkey varchar(512)
declare @FileName varchar(128)
declare cur1 cursor for select ObjID,FileName from CS_DocFiles where InsertedTime >='2012-7-27' and InsertedTime <'2012-7-28'
open cur1
FETCH NEXT FROM cur1 INTO @ObjID,@FileName
WHILE @@fetch_status = 0 --循环记录集
BEGIN
insert into atemp (Objid,filename)values(@ObjID,@FileName)
FETCH NEXT FROM cur1 INTO @ObjID,@FileName
end
close cur1
deallocate cur1
END
执行结果为:
消息 208,级别 16,状态 6,过程 sp_Insert_atemp,第 24 行
对象名 'dbo.sp_Insert_atemp' 无效。
这是为什么啊,应该不报错才对啊,请各位帮忙
------解决方案--------------------
- SQL code
/****** 对象: StoredProcedure [dbo].[sp_Insert_atemp] 脚本日期: 08/02/2012 14:24:24 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC [dbo].[Sp_insert_atemp]-- @inserStartTime char(10),-- @inserEndTime varchar(20),-- @rtn int outputAS BEGIN SET NOCOUNT ON; DECLARE @ObjID CHAR(128) DECLARE @contentkey VARCHAR(512) DECLARE @FileName VARCHAR(128) DECLARE cur1 CURSOR FOR SELECT ObjID, FileName FROM CS_DocFiles WHERE InsertedTime >= '2012-7-27' AND InsertedTime < '2012-7-28' OPEN cur1 FETCH NEXT FROM cur1 INTO @ObjID, @FileName WHILE @@FETCH_STATUS = 0 --循环记录集 BEGIN INSERT INTO atemp (Objid, filename) VALUES (@ObjID, @FileName) FETCH NEXT FROM cur1 INTO @ObjID, @FileName END CLOSE cur1 DEALLOCATE cur1 END 没有问题。 提示你 对象名 'dbo.sp_Insert_atemp' 无效。你看看你执行该存储过程时 所选的数据库是否一致?
------解决方案--------------------
是不是你的数据库选择错了