我正在准备Oracle认证。当我经历基本级别查询时,我遇到了替换变量。我怀疑的是,
请提供宝贵的建议。
提前谢谢
答案 0 :(得分:1)
对于前两点,听起来你需要SQL * Plus accept
和prompt
命令;它们在Receiving a Substitution Variable Value下进一步解释。这些将允许您解释用户被要求输入的价值,我认为这也解决了“混乱”部分。
accept
也会自动定义变量,因此即使您使用单个&符号(&
而不是&&
),也不会再次提示用户。
prompt The next value you will be asked for should be numeric
accept badVarName prompt 'Enter some value: '
select ... from my_table where my_column = &badVarName;
我不确定您所指的是哪种优化,但您可以在查询中使用绑定变量,可能会从替换变量中填充它:
variable bindVar number;
exec :bindVar := &badVarName;
select ... from my_table where my_column = :bindVar;