问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串?

发布网友 发布时间:2022-04-08 01:41

我来回答

5个回答

懂视网 时间:2022-04-08 06:03

 

部门326为部门329的父部门,部门2与部门326是同级部门;

账户muyunfei,属于329部门

消息发送给部门2及部门326两个部门(326|2),发送的部门对象之间用“|”分割

技术分享

 

 

查询:muyunfei账户是否属于该部门字符串(329|2)或者该部门字符串的子部门中

1、首先使用start with。。。。。connect by获得账户muyunfei的部门及父部门

2、遍历部门及父部门,在循环体重嵌套循环(该循环拆分以“|”为分隔符的部门号),在嵌套的循环体中判断,两结果是否相同,相同,即人属于当前部门或其子部门,返回1结束循环,否则继续循环

create or replace function check_User_in_dept(to_party_id varchar2, --部门id,多个用|分割
      cur_user_id varchar2 --人员id
      ) return varchar2 as
 /*
 功能:判断当前人是是否属于当前部门中
 * 1当前人属于该部门,0不属于
 */
 party_str varchar2(200);
 v_length NUMBER := LENGTH(to_party_id);
 v_start NUMBER := 1;
 v_index NUMBER;

 cursor c_1 is
 select *
 from wx_party a
 start with a.party_id = (select b.department
    from wx_contacts b
    where b.user_id = cur_user_id)
 connect by a.party_id = prior a.parent_id;

begin
 /*检索游标数据*/
 for v_1 in c_1 loop
 /**根据‘|’拆分字符串,并匹配数据,如果存在然后1,否则继续循环*/
 WHILE (v_start <= v_length) LOOP
 v_index := INSTR(to_party_id, '|', v_start);
 -- DBMS_OUTPUT.PUT_LINE('v_index:' || v_index);
 IF v_index = 0 THEN
 party_str := SUBSTR(to_party_id, v_start);
 v_start := v_length + 1;
 ELSE
 party_str := SUBSTR(to_party_id, v_start, v_index - v_start);
 v_start := v_index + 1;
 END IF;
 --DBMS_OUTPUT.PUT_LINE('party_str:' || party_str);
 --DBMS_OUTPUT.PUT_LINE('party_id:' || v_1.party_id);
 IF party_str = v_1.party_id then
 return '1';
 end if;
 END LOOP;
 /*重置循环条件*/
 v_length := LENGTH(to_party_id);
 v_start := 1;
 end loop;
 return '0';
end;


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle查询某人所在的部门(326)是否属于部门字符串(329|2)或者该部门字符串的子部门中

标签:

热心网友 时间:2022-04-08 03:11

这个不可能使用简单一个查询语句来实现这个功能。因为你的这个需要基本都是比一定逻辑的查询,实现起来有相当的难度。因为首先要确定有多少张表,每张表中有多少个字段,然后才能实现某个字段中的某条记录包含你所需要的这个特定的值。
这仅仅是一个简单的思路,供参考。

热心网友 时间:2022-04-08 04:29

你这个要求基本上用一两句t-sql语句无法实现。另外如果是大数据,基本上一查就死了,这个需求基本上属于无理取闹的。因为要实现你的要求,首先要在代码里面获取数据库都有哪些表,这些表都有哪些字段,然后在一个个字段去比较。想想让数据库来实现这些东西都头痛。
不知道全文搜索是不是有这个功能,反正想自己写几行代码就实现这个功能基本上无解。

热心网友 时间:2022-04-08 07:55

写一个存储过程
将show tables的结果放入一个集合中
然后遍历这个集合
desc table
得到单个表的字段
然后组织查询语句 select * from table where 字段1=‘cc’ or 字段2=’cc‘.......字段n='cc'

运行脚本看结果
这只是思路

热心网友 时间:2022-04-08 10:03

declare
cnt number;
sqls varchar2(400);
begin
for i in ( select table_name from user_tab_comments where comments is not null )
loop
for j in (select * from user_tab_columns where table_name = i.table_name )
loop
sqls :='select count(*) from '|| i.table_name
||' where ' || j.column_name || ' like ''.com%''' ;
execute immediate sqls into cnt;
if cnt >0 then
insert into test values( 'select ' || j.column_name || ' from ' ||i.table_name|| ';' ) ;commit;
end if;

end loop;
end loop;
end ;
如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串?

写一个存储过程\x0d\x0a将showtables的结果放入一个集合中\x0d\x0a然后遍历这个集合\x0d\x0adesctable\x0d\x0a得到单个表的字段\x0d\x0a然后组织查询语句select*fromtablewhere字段1=‘cc’or字段2=’cc‘...字段n='cc'\x0d\x0a\x0d\x0a运行脚本看结果\x0d\x0a这只是思路...

如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串?

这个不可能使用简单一个查询语句来实现这个功能。因为你的这个需要基本都是比一定逻辑的查询,实现起来有相当的难度。因为首先要确定有多少张表,每张表中有多少个字段,然后才能实现某个字段中的某条记录包含你所需要的这个特定的值。这仅仅是一个简单的思路,供参考。

oracle怎么查出字段中含有特殊字符的数据?表名:table,字段:col,请直接...

使用ESCAPE关键字定义了转义字符“M”,告诉DBMS将搜索字符串“%M%”中的第二个百分符(%)作为实际值,而不是通配符。当然,第一个百分符(%)仍然被看作是通配符,因此满足该查询条件的字符串为所有以%结尾的字符串。

oracle 如何查询所有的表中,有某个字符串的表?

create or replace function f_find_table return varchar2 is begin declare v_count int;begin select count(*) from tabA where instr(col1||col2||col3||col4||col5,'12345')&gt;0 ;if v_count &gt;0 then return "tabA";end if;...end ;end ;

Oracle 数据库如何查询列

● SELECT 列名1,列名2 FROM 表名; -&gt; 查询某个表中所有的记录的字段1 字段2 ● SELECT distinct 列名 FROM 表名; -&gt;去除重复记录 ● SELECT 表达式 FROM 表名; -&gt;查询表达式 ● SELECT xxx as 别名 FROM 表名 表别名 -&gt;使用别名 查询特定字段 代表通配符,能够查询表中所有字段 distinct去重...

查找oracle 数据库中包含某一字段的表名

将oracle所有的表unload出来,形成一组文本文件,然后利用文本搜索命令grep(Unix环境下),查找'xiaoming'字符串,然后找到对应的文件及所在行;你可以数一下该字符串在第几列;再对应找到该表的结构就能够找到列名了。

Oracle数据库查找含有某一字符串的记录

用模糊查询select * from 表where 字段1 like '%字符串%' or 字段2 like '%字符串%';

在oracle中 如何知道当前用户(比如scott) 的哪些表的哪些字段中包含某一...

EXECUTE IMMEDIATE V_RESULT_STRING INTO V_COUNT;IF V_COUNT &gt; 0 THEN O_STRING := O_STRING || X.TABLE_NAME || '.' || X.COLUMN_NAME || ';';END IF;END LOOP;END;在plsql里面用测试方式执行这个存储过程,I_STRING 是你要查的字符串,O_STRING中显示的是结果,表名和字段名 ...

如何用oracle动态查询一张表里面的某些列?

字符串中可以包括用于参数绑定的占位符。但是,不可以使用绑定参数为动态SQL传递模式对象。在用于单行查询时,INTO子句要指明用于存放检索值的变量或记录。对于查询检索出来的每一个值,INTO子句中都必须有一个与之对应的、类型兼容的变量或字段。在用于DML操作时,RETURNING INTO子句要指明用于存放返回值的...

sql中如何判断字符串中含有特殊字符

1、打开终端窗口,输入mysql -u-root -p,进入mysql。2、SHOW DATABASES;用USE来切换数据库。3、SHOW TABLES;选择要进入查询的表格。4、SELECT * FROM car;这个是正常的查询表格指令。5、SELECT * FROM carWHERE car.make LIKE 'Ma%';这里就可以用这个指令来搜索make这一列以Ma打头的字符串有哪些...

oracle查数据库所有表的表名 oracle查询数据库中所有表名 oracle数据库查询所有表代码 清空oracle数据库所有表数据 数据库怎么查所有表oracle oracle查数据库有哪些表 oracle查询所有表的记录数 oracle查看数据库有多少表 oracle显示数据库所有表
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
狗狗为什么会得胰腺炎症呢 鸡蛋去壳后用了点蛋清做面膜,然后把剩下的拿碗放冰箱里,第2天还可以煮... ...月3 日上午十一点二十分男孩姓李改名李柏涛好吗? 前列腺小囊肿是否严重 前列腺囊肿治疗费用 海信电视有哪些型号 老年痴呆的三个阶段 案件移交到检察院后的流程是怎样的 合肥新站拆迁纠纷律师哪个排名高? 炸鸡粉(炸鸡粉怎么用才能使鸡肉更好吃) i7-10700k处理去配3070显卡 用不用水冷散热? 目前,鸿蒙OS升级使用人数有多少? 阳台只有一个下水,洗衣池+洗衣机怎么做? jquery怎么获取子元素 白酒有些什么类型?为什么老公最喜欢买潭酒喝? 人头怎么画简单又漂亮女生 海尔全自动滚筒洗衣机,高度不超过770mm的,上排水的,想放厨房和整体橱柜放一起,镶嵌式的,麻烦推荐 鸿蒙用户数量是多少? 海尔洗衣机中有哪些型号是可以嵌入在橱柜的? 闽福发a股票是蓝筹股吗 小米8se怎么开性能模式 jQuery中children和find的区别 闽福发A(000547) 应该如何让操作…… 内存卡是什么意思 我的手机是红米8。然后前些时间游戏加速这个应用还可以用。现在进不去,刚进去之后它是一个白屏? 怎样选择阳台洗衣机柜 请大家对闽福发A(000547)的行情进行预测 王嘉男的个人经历 手游吃鸡不能进入游戏加速模式 000547怎么办 潭酒和金沙酒,哪个品牌的酱香白酒口感要好? 据统计鸿蒙OS升级用户超过1.5亿,该系统为何能被用户青睐? 阳台 镶嵌洗衣机用砖砌好还是打柜子好 jquery如何获取没有子节点的元素 手机的内存卡是什么? 白酒哪个品牌好?年份潭酒怎么样 请教,关于三星滚筒洗衣机安装 手机内存卡是什么;手机内存卡插在电脑上要用什么东西;那个 东西叫什么 谈谈Jquery中的children find 的区别有哪些 滚筒洗衣机的顶盖可以拆掉嘛 256Ht内存卡是啥意思 足不出户,在家怎么交话费? jquery 怎么获取children里面 有知道四川潭酒的吗,是怎么生产出来的? 枸杞子,人参,大枣和鸽子煲汤有何功效 抓狂的 jquery .children方法 潭酒的潭酒工艺 怎么画人头像素写(简单一点的) 显卡到底需要不需要直接改水冷 各位朋友,请问话费怎么买最划算