gpt4 book ai didi

Oracle - 在动态游标的 LIKE 子句中使用绑定(bind)变量

转载 作者:行者123 更新时间:2023-12-04 18:02:14 24 4
gpt4 key购买 nike

我正在使用动态游标来获取数据。正在执行的查询类似于:

query := 'SELECT column1, column2 
FROM my_table
WHERE column1 LIKE ''%:bv1%''';

游标本身是这样执行的:
OPEN my_cursor FOR query USING my_var1;

我还尝试检查查询并打印它:
... WHERE column1 LIKE '%:bv1%' ...

所以撇号被转义,但游标不获取数据。甚至可以在 LIKE 子句中使用绑定(bind)变量,如果可以,我做错了什么?

最佳答案

这是一个微妙的。从静态语句开始,正确处理,然后将其转换为动态 SQL 通常很有用。

在非动态 SQL 中,我们可能会这样做:

 SELECT column1, column2 
FROM my_table
WHERE column1 LIKE '%' || local_var || '%';

动态当量是
query := 'SELECT column1, column2 
FROM my_table
WHERE column1 LIKE ''%''||:bv1||''%'' ';

关于Oracle - 在动态游标的 LIKE 子句中使用绑定(bind)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com