0

我正在准备 Oracle 认证。当我浏览基本级别的查询时,我遇到了替换变量。我的疑问是,

  1. 如果我们使用 Substitution 变量创建查询,前端用户如何理解必填字段?
  2. 我们不会对这些输入造成任何混淆吗?
  3. 我们可以如何更好地优化这种类型的查询?

请提供您的宝贵建议。

先感谢您

4

1 回答 1

1

对于前两点,听起来您需要 SQL*Plusacceptprompt命令;它们在接收替代变量值下进一步解释。这些一起将允许您解释要求用户输入的值是什么,我认为这也解决了“混乱”部分。

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;
于 2013-10-23T15:26:38.240 回答