这是做一个高级查询SQL语句    本人比较菜的。 上网也找了些资料。但是执行这条存储过程还是有错误。
报错。。消息 208,级别 16,状态 6,过程 Paper_Search,第 95 行
对象名  'Paper_Search' 无效。这是怎么回事呀。  可能我存储过程里的语法有错误把。
希望哪位大侠帮忙解决一下。急呀。我在线等。。谢谢。
 
 -- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: skl
-- Create date: 09-12-15
-- Description: 高级查询试题
-- =============================================
alter PROCEDURE Paper_Search
@Type_Name varchar(50),----试题类型
@Paper_Cl_Type  varchar(50) ,  ---试卷类型
@Paper_degree varchar(50),---难度指数
@Paper_Year varchar(50) ,---年份
@Paper_Resourse varchar(50),  ----地区来源
@Paper_CheckTime varchar(50) , ----入库时间---使用次数                                      
@kit varchar(50) ----学科
AS
BEGIN   -----判断选择的情况 高级查询
  declare @str nvarchar(500)
 set  @str=''
 if(@Type_Name!='1')
   begin
    set @str=' and TypeName='+''''+@Type_Name+'''' 
   end
----------------------------
if(@Paper_Cl_Type!='11')
begin
   if(@str='')
    begin
     set @str='and Paper_Cl_Type='+''''+@Paper_Cl_Type+'''' 
    end
   else
    begin
     set @str=@str+' and Paper_Cl_Type='+''''+@Paper_Cl_Type+'''' 
    end
end
----------------------------
if(@Paper_degree!='0')
begin
   if(@str='')
    begin
     set @str='and Paper_degree='+''''+@Paper_degree+'''' 
    end
   else
    begin
     set @str=@str+' and Paper_degree='+''''+@Paper_degree+'''' 
    end
end
--------------------------------
if(@Paper_Year!='1')
begin
   if(@str='')
    begin
     set @str='and Paper_Year='+''''+@Paper_Year+'''' 
    end
   else
    begin
     set @str=@str+' and Paper_Year='+''''+@Paper_Year+'''' 
    end
end
----------------------------------
if(@Paper_Resourse!='1')
begin
   if(@str='')
    begin
     set @str=' and Paper_Resourse ='+''''+@Paper_Resourse +'''' 
    end
   else
    begin
     set @str=@str+' and Paper_Resourse ='+''''+@Paper_Resourse +'''' 
    end
end
-----------------------------------------
if(@Paper_CheckTime='1')
begin
   if(@str='')
    begin
     set @str=' order by Paper_CheckTime desc ' 
    end
   else
    begin
     set @str=@str+' order by Paper_CheckTime desc ' 
    end
end
else
  begin
  if(@str='')
    begin
     set @str=' order by Paper_Hits desc ' 
    end
   else
    begin
     set @str=@str+' order by Paper_Hits desc ' 
    end
  end
  select * from paper where paper_subject=@kit+''+@str+''
END
-------------------------------------
--exec ('select * from paper '+@xueke+@str)GO