本人为你做了一个含输入参数并在存储过程中创建了试图的存储过程的例子,存储过程创建的脚本如下,你可以新建存储过程,将下面的脚本全部粘贴即可生成该示例存储过程,运行该存储过程,输入参数为: '2002-5-1'即可CREATE PROCEDURE  proc_hzm_test 
@rq  varchar(20) --定义存储过程输入参数变量
 AS
--创建一个基本例子表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TABLE1]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TABLE1]
CREATE TABLE [dbo].[TABLE1] (
[日期] [datetime]  NOT NULL ,
[数值] [float] NULL 
) ON [PRIMARY]
--向例子表中插入两条测试数据
insert  [dbo].[TABLE1](日期, 数值)
values('2002-5-1',1)
insert  [dbo].[TABLE1](日期, 数值)
values('2002-5-2',2)
----检查要创建的例子视图是否存在,若存在请先清空
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[VIEW1]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[VIEW1]
--定义创建视图语句变量
declare @sql varchar(1000)
--创建变量, 其中含输入参数
set @sql='CREATE VIEW dbo.VIEW1
AS
SELECT 日期, 数值
FROM dbo.TABLE1
WHERE 日期  >' +''''+ @rq+'''' 
--执行该语句创建视图
exec(@sql)
GO

解决方案 »

  1.   

    用动态SQL,不过执行时需要足够的权限.DECLARE @SQL VARCHAR(400)
    SET @SQL='CREATE VIEW '+@NAME +' AS '+ @VIEW_SQL 
    EXEC (@SQL)@NAME , @VIEW_SQL是传过来的VARCHAR的参数
      

  2.   

    用exec 然后+SQL语句就好了
      

  3.   

    (广州)精通数据库编程,熟悉INTERNET编程,熟悉SQL-SERVER,至少一年DELPHI编程经验,有独立负责开发项目能力,我公司将为您提供良好的个人发展空间,有意者请先将个人简历及其他相关资料和个人要求等说明EMAIL至以下地址(请不要使用附件) 
    联系人:刘先生 
    TEL:38891464 
    FAX:38891460 
    EMAIL:[email protected]