SQL存储过程的输入参数可以是一个复杂的语句吗?

CREATE PROC SF_FILT3 @Filt3_sql NVARCHAR(4000)
AS 
BEGIN  
EXEC('if object_id(''VW_FILT3'',''v'') is not null
drop view VW_FILT3')
EXEC(
'  CREATE VIEW VW_FILT3 AS 
SELECT * FROM VW_FILT2 WHERE 
'+@Filt3_sql+'
')
END
参数@Filt3_sql 是一些AND,OR语句?不知这样可否?
调用的时候又是怎么调用呢?