当前位置:  开发笔记 > 数据库 > 正文

sql解析器(更改解析方法)

如何解决《sql解析器(更改解析方法)》经验,为你挑选了1个好方法。

我有一个选择:

select * from table1 where col1=10;

另一个选择:

select * from table1 where col1=11;

Sql解析器将它们解析为不同的sqls ..我想让SQL PARSER解析语句一次,只需更改where子句中的参数.我能这样做吗?有什么想法吗?请与我分享..非常感谢.

PS:我选择的是:

select * from v$sql
where parsing_user_id=55 (my user id)

并且当我运行第一个查询时插入新行,当我运行第二个查询时插入另一行.如果我再次运行第一个或第二个查询,则现在插入新行(意味着sql解析器不会再次解析它)



1> Alex Poole..:

您需要以某种形式使用绑定变量.例如,如果您在SQL*Plus中执行此操作,则可以执行以下操作:

var myval number;

exec :myval := 10;
select * from table1 where col1 = :myval;

exec :myval := 11;
select * from table1 where col1 = :myval;

如果你从其他地方打电话,那么机制就会略有不同,所以你可能需要更具体一些.


不,它不会工作,因为它将是更复杂的语法.你必须创建函数并给它一个参数(还有一件事,你不能写函数选择你应该将查询的结果分配给另一个变量并返回它)你知道我可能得到了答案.我需要的是摇摇头,根据绑定变量编写这个函数.非常感谢你的回答.
如果要将select放入函数中,只需使用函数参数作为查找值.PL/SQL自动使用绑定变量作为SQL语句中使用的变量的占位符.
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有