oracle 根据值找字段
来源:互联网 发布:电子密码锁编程 编辑:程序博客网 时间:2024/06/05 19:30
在sql中我们经常 用 where field='XXXX' 来判断获取特定数据。
在一次项目中遇到了个比较奇怪的问题,需要根据值来反向检索字段,即是否有字段存在特定的值。想来想去好像没办法用一个sql实现于是写了个存储过程简单实现。
其实可以写得很强大,但就是懒---能实现功能就好。代码如下。
-- 反向判断:判断指定表是否有存在 特定值的字段(该表主键写死掉punid,哈哈业务是这样有需要可以改成动态的)
CREATE OR REPLACE PROCEDURE "P_FINDCOLUMNSBYVALUE"
(
retVal out integer, --返回是否存在 1存在,0不存在
unid in varchar2, --主键
inTableName in varchar2, --表名
inValue in varchar2 --值
)
as
tmp_columns varchar2(100); --表的字段名
IS_EXIST NUMBER; --数据是否存在
tmp_sql char(150);
begin
retVal := 0;
declare cursor c_tmp is SELECT t.COLUMN_NAME FROM user_tab_columns t WHERE t.TABLE_NAME= inTableName and t.DATA_TYPE='VARCHAR2';
begin
open c_tmp;
loop
fetch c_tmp into tmp_columns;
tmp_sql := 'select count(*) from '||inTableName||' where '||tmp_columns||' = '''||inValue||''' and punid = '''||unid||'''';
DBMS_OUTPUT.PUT_LINE(tmp_sql);
execute immediate tmp_sql into IS_EXIST;
DBMS_OUTPUT.PUT_LINE(IS_EXIST);
IF (IS_EXIST != 0) THEN
retVal := 1;
exit;
end if;
exit when c_tmp%NOTFOUND;
end loop;
close c_tmp; --关闭游标
end;
end;
- oracle 根据值找字段
- oracle根据字段值查询所有表及其字段.txt
- 关于根据oracle字段长度更新字段值
- oracle字段根据字符串拆分
- Oracle 根据字段条件显示不同字段
- oracle查询 根据某个字段不包含某个值查询
- Oracle根据字段值找到表名和列名
- Oracle简单的存储过程+根据条件修改字段值
- 对某个字段相同的值根据另一个字段排序(Oracle数据库)
- oracle 根据字段名查找表
- oracle根据某一字段的内容排序
- Oracle 根据字段查询相关表名
- 18种根据屏幕字段找数据表的方法 rev1.1
- Oracle根据表名获得其主键的字段名
- 根据数据库字段,动态创建实体类(oracle)
- oracle根据某个字段去重查询实例
- Oracle根据多个字段进行查重
- DataGrid根据字段值改变DataGrid呈现
- Implementing Address Windowing Extensions (AWE) or VLM on 32-bit Windows Platforms [ID 225349.1]
- 使用FileUpload组件上传文件
- 统计工程里的代码行数
- 在xcode 4.2.1中通过RHManagedObject 和RHManagedObjectContextManager 来简化 CoreData的处理
- 《Effective C++》小结
- oracle 根据值找字段
- SVN地址
- AWR(Automatic Workload Repository)——比较报告的生成(2)!
- 解决RHEL、CentOS无法更新到最新版本的PHP的问题
- Entity简介
- 找不到请求的 .Net Framework Data Provider。可能没有安装.
- oracle 分页效率sql
- mas2.0 java 短信/彩信开发接口
- SVN出错问题汇总