我有一个选择:
select * from table1 where col1=10;和另一个选择:
select * from table1 where col1=11;Sql解析器将它们解析为不同的Sql。我想让SQL解析器解析语句一次,只需更改where clause..Can中的参数就可以了。你有什么想法吗?请与我分享它..非常感谢。
附言:我正在选择:
select * from v$sql
where parsing_user_id=55 (my user id)并看到当我运行第一个查询时插入了新行,当我运行第二个query.If时插入了另一行我再次运行第一个或第二个查询,现在插入了新行(这意味着sql解析器不再解析它)
发布于 2010-10-15 18:51:20
您需要以某种形式使用绑定变量。例如,如果您在SQL*Plus中执行此操作,则可以执行以下操作:
var myval number;
exec :myval := 10;
select * from table1 where col1 = :myval;
exec :myval := 11;
select * from table1 where col1 = :myval;如果您是从其他地方呼叫,则机制略有不同,因此您可能需要更具体一点。
https://stackoverflow.com/questions/3941484
复制相似问题