问题标签 [bind-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
178 浏览

sql - 加入这样的子选择以避免重复的绑定变量是不好的形式吗?

这是一个简化的示例查询,以“传统”方式完成(在 PostgreSQL 8.3 中测试的示例查询):

问题是,两次传递相同的绑定变量很麻烦(更复杂的查询需要六次或更多次)。

当然,SQL 允许在同一个查询中多次使用同一个绑定变量:

但是许多 DB API 层不支持(或者不容易),因此使用这种方法变得更加麻烦。

我可以通过针对子选择添加一个 JOIN 来解决这个问题:

Explain 表明,正如人们所期望的那样,后一个选项具有最复杂的执行计划,但是,至少在这个示例中,它始终比 a 执行得快,并且几乎不比 b 慢(尽管准备查询比任何一个都花费更长的时间)其他两个选项)。

所以我的问题是:

对于更复杂的查询,这种 JOIN/子选择结构是好是坏,作为避免重复绑定变量的一种方式?

0 投票
1 回答
355 浏览

sql - 在 EJB 查询 IN 子句中绑定变量

是否可以像这样在 EJB IN 子句中绑定列表?

0 投票
1 回答
4608 浏览

oracle - 在“IN”子句中使用绑定变量

我想将一个数字列表查询到一个 plsql 变量中,并在另一个 sql 查询的 in 子句中使用它。我在下面创建了一个我想要做的测试用例。

我为解决方案搜索了谷歌,我认为它一定是可能的,但我只是没有让它运行。请帮助我提供编译解决方案。

0 投票
1 回答
1113 浏览

sql - 在 SQL 语句中外连接绑定变量 (Oracle 11g)

我们有很多使用可以为 Null 的绑定变量的选择语句。Null 表示 Bind-Value 不应限制语句。

这是我们正在做的一个简单示例:

这 2 个语句具有以下执行计划:

那么,您认为这种外连接的最佳解决方案是什么?

0 投票
1 回答
2979 浏览

java - jooq 的限制和偏移问题

我已经将 jooq 与 spring 集成,对于所有类型的数据库查询(MySQL),我使用的是 spring 的 JDBC 模板。这里使用 jooq 库来生成要传递给 jdbc 模板的 sql 查询。

尽管我的其余查询工作正常,直到我向查询添加限制和/或偏移量。

我正在生成如下查询:

我收到如下错误:

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; 错误的 SQL 语法 [select table_name from tables t where (t.table_schema LIKE 'test') 限制?抵消 ?]; 嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。抵消 ?' 在第 1 行

这清楚地表明传递给 limit 和 offset 方法的值不会附加到查询中。

我搜索了文档,但没有找到任何其他方法来实现这一点。

0 投票
0 回答
1271 浏览

oracle - Zend_Db - 在获取或执行和获取之前定义未完成

我在 Oracle 中有一个 send_mail() 过程来处理所有的电子邮件。

我可以从 Zend 查询中调用该过程而没有错误$db->query("blah blah");,但是当我使用 a 时,$stmt = $db->prepare("blah blah");我得到了错误(尽管电子邮件仍然发送):

24374 ORA-24374: define not done before fetch or execute and fetch *begin send_mail(:mailto,:mailhost,:mailport,:mailfrom,:subject,:message); end;","file":"C:\\wamp\\www\\sam\\library\\Zend\\Db\\Statement\\Oracle.php

我所有的变量都定义了吗?所以不确定是什么导致了这个错误?

我的代码:

也许有人可以阐明为什么我可以将其作为查询而不是作为绑定语句传递?

我的 SEND_MAIL 程序:

注意:当我使用绑定变量从 SQL Developer 运行查询时,我收到此错误并且电子邮件未发送:

但是它会用zend发送吗?

最亲切的问候

弥敦道

0 投票
2 回答
2915 浏览

sql - TOAD 认为 &String 是绑定变量

我正在使用 Oracle Data Integrator 开发一些 ETL,有时还通过 TOAD 测试我的部分代码。今天我遇到了 TOAD 的问题,我有一条线像

当我尝试运行包含上述过滤器的 SQL 时,TOAD 询问 PROD 的值,它认为 PROD 是一个绑定或替换变量。TOAD 设置中是否有任何选项可以打开此功能。我正在使用带有列 (:) 的绑定变量,并且我的数据包含 & 所以我需要使用它。

此代码在 ODI 中完美运行,我只需要 TOAD 的解决方案。提前致谢。

0 投票
1 回答
303 浏览

sql - 我们可以使用游标进行 UPDATE 查询吗?

我们也可以为 UPDATE 查询声明并打开一个游标,还是仅用于 SELECT 查询?

这样好吗?或者我们应该只对 SELECT 语句使用游标,那么我们如何执行 UPDATE 查询?

0 投票
1 回答
1470 浏览

oracle - 使用 SQLPLUS 中的数据库值作为批处理文件的参数

我需要运行一个批处理文件并传入一个数据库值。根据日期,需要将不同的值传递给 DOS 命令。这个特定的业务规则是在数据库的一个视图中定义的。

我们的主要调度工具是在 SQLPLUS 中运行脚本的 datastage,所以这是我安排活动的首选方法。我也可以直接运行一个批处理文件来调用 SQLPLUS 并获取一个值,但是设置它有更多的麻烦,所以我不想这样做。

我是 SQLPLUS 爱好者。

下面是我传递给 SQLPLUS 的 SQL 脚本。我遇到的问题是它传入:sTriggerName,而不是它的值。

0 投票
4 回答
338 浏览

plsql - TCL 中的 PL-SQL 绑定变量

有人可以在以下 TCL 源代码中解释一下:

:service_id:keys是什么意思。我可以通过简单的跟踪查看背后的值吗?我怎样才能找到这些变量的定义位置?

提前致谢!