oracle 中查询动态字段的问题

oracle 存储过程中 怎么实现

select * from table where a='1'
a是动态的

procedure proc_test1
is
cursor cursor_a is --声明游标(将TABLE中的所有A列的值放入游标中)
select a
from table
v_id table.id%type; --声明v_id的数据类型
begin
open cursor_a; --打开游标
loop --循环读取游标中的A列的值,并让a=v_id.
fetch cursor_a into v_id;
select *
from table
where a='1'
and a=v_id
exit when cursor_a%notfound;--读完退出
end loop;
close cursor_a; --关闭游标
end;

上面的过程中我没写查询完以后select *放入的游标,只是将a是动态的实现,需要的话我再帮你写,多定义个游标就可以了。

不知道我写的你看明白没有,不明白再问我,谢谢!
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle 中查询动态字段的问题
procedure proc_test1 is cursor cursor_a is --声明游标(将TABLE中的所有A列的值放入游标中)select a from table v_id table.id%type; --声明v_id的数据类型 begin open cursor_a; --打开游标 loop --循环读取游标中的A列的值,并让a=v_id.fetch cursor_a into v_id;select from tab...

如何用oracle动态查询一张表里面的某些列?
输入bind_argument参数是一个表达式,它的值将被传入(IN模式)或传出(OUT模式)或先传入再传出(IN OUT模式)到动态SQL语句或是PL\/SQL块中。一个输出bind_argument参数就是一个能保存动态SQL返回值的变量。除了多行查询外,动态字符串可以包含任何SQL语句(不含终结符)或PL\/SQL块(含终结符)。字符串中...

oracle动态sql中还要in条件,帮我修改下,提示有错误
你插入的是timekey,srkm_xmdm两个字段,但你select的是一个字段。。

oracle存储过程中查询动态表名
create procedure p_insertascursor cur_tbname is select 'insert into test select col1,col2 from '||table_name from user_tables where table_name like 'AA___BB';--这个位置的表名必须大写的A和B,col1和col2换成你实际的字段名称begin open cur_tbname; loop fetch cur_tbname i...

oracle的包体中的存储过程中进行动态变量添加,死活insert不进去?请解 ...
如果运行之后无错误提示,就是insert成功了。你必须把所有查询的sql窗口关掉,再去看看有无数据。

Oracle数据字典(可用它动态获取字段名、长度、类型等)
即为最小和最大值 该统计值为前 字节的 进制表示法 HIGH_VALUE 同上一字段 DENSITY NUM_NULLS NUM_BUCKETS LAST_ANALYZED SAMPLE_SIZE CHARACTER_SET_NAME CHAR_COL_DECL_LENGTH GLOBAL_STATS USER_STATS lishixinzhi\/Article\/program\/Oracle\/201311\/18449 ...

在oracle数据库中用循环动态执行update语句很慢,如何解决
你数据有那么大,更新肯定是很慢的,你可以从下面两个方面考虑:一、你要在3千万的数据里面查询,一定要走索引,就是对查询条件的字段建立索引 二、插入到的表和更新的表如果太大,如果插入非常频繁,可以插入取消部分索引。

Oracle 怎样在触发器中获取动态的主键列的值。
插入、更新的情况下, 可使用 :new.列名 更新、删除的情况下, 可使用 :old.列名

在oracle中查询表的时候有这个符号v$是什么意思
oracle系统视图都是已v$开头的,具体存放数据库相关动态信息。比如说会话信息v$session,日志信息v$log。

oracle 中 execute immediate 问题?
输入的是变量,不能用字段名或者 条件语句输入。如果你要动态的,可以这么写:s_column:= 'column1';s_where:='column2 like ''2%'' ' ;SQL1 := 'select ‘||s_column||’,a from table where '||s_where; using 'column1','column2 like ''2%'' ' ;execute immediate SQL1;

相似回答
大家正在搜