|
|
1
15
如果您是从sqlplus运行这个脚本(看起来是这样),您需要使用DEFINE命令,它允许您创建sqlplus子条件变量,这些变量只是直接的字符串替换,例如:
看到了吗 Using Sql*Plus 有关如何使用这些的更多信息。可以使用预定义的位置子条件变量从命令行将值传递到脚本中,如下所示:
... 然后像这样调用sqlplus:
关于bind和substitution变量之间的区别,请参见下面Dave Costa的答案。 |
|
|
2
8
您尝试使用的方法称为 绑定变量 为了解析SQL语句,必须知道所涉及的表名和列名。因此表名不能用绑定变量表示,因为在解析时该值是未知的。 如果您只是通过SQLPlus执行SQL和内联PL/SQL,那么替换变量是处理这个问题的一种简单方法,Steve解释道。当SQLPlus客户机读取命令时,甚至在将其发送到Oracle进行解析之前,替换变量将被替换为其值。 |
|
|
3
7
这是因为Oracle不允许为表(或任何其他对象名)绑定变量。 executeimmediate方法有着重要的安全含义:当tableNm值由用户提供时,您对 SQL injection |
|
|
4
6
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |