gpt4 book ai didi

oracle - 我正在尝试使用 like 搜索长专栏,但 Oracle 提示

转载 作者:行者123 更新时间:2023-12-02 06:54:35 25 4
gpt4 key购买 nike

请注意,我们使用的是 11g,我别无选择。我正在查看 all_constraints 并尝试检查 search_condition 列,如下所示:

   select * from all_constraints
where table_name = UPPER('STVTERM') AND
constraint_type = 'C' AND
CAST(search_condition AS VARCHAR2(100)) NOT LIKE '%IS NOT NULL';

我希望将其放入一个快速而肮脏的过程中,该过程会吐出一个 Grails 域。限制是唯一缺失的部分。除了我缺少的 where/like 之外,是否有一种简单的方法来排除那些“不为空”的约束?我已经尝试过显而易见的方法,Oracle 也不愿意将 long 转换为 varchar 然后进行检查。由于我可能想要对此列进行其他操作,因此我创建一个函数来进行笨拙的 PL-SQL 转换、检查并返回“匹配/不匹配”结果的一些解决方案并不适用也有很大帮助。

大家有什么想法吗?

最佳答案

为了后代,这是我在尝试解决相同问题时使用的:

-- Create the decoder function

create function funk_decode( p_cons_name in varchar2 ) return varchar2
authid current_user
is
l_search_condition user_constraints.search_condition%type;
begin
select search_condition into l_search_condition
from user_constraints
where constraint_name = p_cons_name;

return l_search_condition;
end;
/

-- Then use it in your select

SELECT constraint_name, constraint_type, status, search_condition FROM USER_CONSTRAINTS where funk_decode(constraint_name) like '%SEARCH_TERM%';

--- Then clean up
drop function funk_decode;

当然,请将 SEARCH_TERM 替换为您要查找的内容。它基于我在这里找到的一些代码:http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:839298816582

关于oracle - 我正在尝试使用 like 搜索长专栏,但 Oracle 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252018/

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