SQL语句参数化问题 例如: String c='500'; "select * from a where a.b not in ( " + c + ")"; 把这个C用 ? 代替 该怎么写sql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MSSQL中需要动态实现 Oracle中也应该是这样吧 这个c是多个逗号分割的字符串还是一个数字? 一个的话 直接用<> 多个的话 就要分割了create or replace procedure sel(c in varchar2) is p_sql varchar(1000); begin p_sql := 'select * from a where a.b <> '''||c||''''; --DBMS_OUTPUT.PUT_LINE(p_sql); EXECUTE IMMEDIATE (p_sql); commit; end; 我认为这是一个绑定变量的问题。c可以用不同的值来代理,但这在oracle解析时,确是一个类型的sql语句,仅仅解析一次。放到内存中,是一个软解析的问题。 【求助】这样的需求,SQL要怎么写呢? Oracle数据库备份有哪些? 奇怪的索引问题 如何创建一个带有blob字段的实体化视图? 各位帮忙看看这SQL脚本有什么蹊跷之处? 如何查询第二条记录? oracle快照问题 求助:有没有人向oracle的数据库中存过图片?请进来看看,真的很急!!! 简单问题:在Oracle8.1.5版本中如何进入的Enterprise Manager Console? 表空间问题 oracle表中sql问题 用现成的dataset更新数据库失败的问题
create or replace procedure sel(c in varchar2) is
p_sql varchar(1000);
begin
p_sql := 'select * from a where a.b <> '''||c||'''';
--DBMS_OUTPUT.PUT_LINE(p_sql);
EXECUTE IMMEDIATE (p_sql);
commit;
end;