用逗号隔开的字符串参数传到SQL语句中. 构造使用IN子句的动态Transact-SQL方法进行编号查询要查询的字段类型是number型--查询的值列表
DECLARE @idlist varchar(100)
SET @idlist='1,2,3,4......'--拼接并执行动态Transact-SQL语句
EXEC('SELECT * FROM table1 WHERE mc_id IN('+@idlist+')')
GO
______________________________________________________________________________________________以上是T-SQL的写法,我要在oracle中实现同样的功能,怎么写sql??
DECLARE @idlist varchar(100)
SET @idlist='1,2,3,4......'--拼接并执行动态Transact-SQL语句
EXEC('SELECT * FROM table1 WHERE mc_id IN('+@idlist+')')
GO
______________________________________________________________________________________________以上是T-SQL的写法,我要在oracle中实现同样的功能,怎么写sql??
c1 varchar2(10);
c2 varchar2(10);
sqlstr varchar2(1000);
begin
c1 := '1,2,3,4';
c2 := substr(c1,2,length(c1)-2);
-- DBMS_OUTPUT.PUT_LINE(c2);
sqlstr := 'select * from tb a where mc_id in ('||c2||')';
EXECUTE IMMEDIATE (sqlstr);
end p1;