动态传递where条件的有关问题

动态传递where条件的问题例如declare @where nvarchar(500)select * from table where @where这么写是执行

动态传递where条件的问题
例如
declare @where nvarchar(500)
select * from table where @where 

这么写是执行不了的
我的意思就是

@where 是动态传递进来 如: set @where ='1=1' 就是这么个意思 @where 会很负责 就是将所有的条件封装成字符串来传递

那么在这种情况下,如何才能通过呢?
求高手解答,谢谢

[解决办法]
什么数据库?传递什么条件,举例说明,一般是通过字符串累加生成SQL语句再动态执行
[解决办法]
试试这个,ASA数据库:
drop procedure ttt;

create procedure ttt (in mywhere varchar(500))
begin 
DECLARE err_notfound
EXCEPTION FOR SQLSTATE '02000';
declare qry LONG VARCHAR;
declare fname CHAR(60);
set qry = 'SELECT fname FROM customer where ' || mywhere;
begin
declare csr CURSOR using qry;
open csr;
lp: LOOP
fetch next csr INTO fname;
if SQLCODE = err_notfound THEN LEAVE lp END IF;
select fname;
END LOOP;
close csr; 
end
 
end;

call ttt('1=1');

只作简单示例。

[解决办法]
EXEC (“select * from table where ” + @where )