ORACLE 我要在sql语句中使用变量,在后面的表里面使用该变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 我要在sql语句中使用变量,在后面的表里面使用该变量相关的知识,希望对你有一定的参考价值。
比如:TB_&MONTH_ID1这张表,后面的month_id1可以自动的按照我设定的变量来用,比如现在是3月份,我需要这个字段为201302,当为4月份的时候,我需要这个字段为3月份,该如何使用,求大侠指导!
我是要调用这个时间,不要手工的写
是这个意思吗?
看你的month_id是什么类型的字段了,字符型的话,可能还要稍加改动
比如你传进去的是201303
select to_char(add_months(to_date('201303','yyyymm'),-1),'yyyymm') from dual追问
你好,我的意思是这个201303能直接调用,不用手工改
追答select to_char(add_months(sysdate,-1),'yyyymm') from dual
那就用第一个,sysdate那个就行了呀
str:='select * from TB_'||'201302';
execute immediate str;
如何在sql语句中显示Oracle索引
【中文标题】如何在sql语句中显示Oracle索引【英文标题】:How to show Oracle index was used in sql statement 【发布时间】:2014-07-28 18:29:24 【问题描述】:我有一个关于 Oracle 索引的问题。 为部门表的部门名称属性创建索引。 证明该索引将在下面的 SQL 语句中使用。 select * from department_name='COMPUTER'
我创建了索引,但我不确定如何证明它,因为在 SQL 语句中看不到索引。
在部门(部门名称)上创建索引 dept.idx;
从 department_name='COMPUTER' 的部门中选择 *
如何证明?
【问题讨论】:
【参考方案1】:使用解释计划,它会告诉你数据库计划使用什么来运行查询,
--Generate explain plan.
EXPLAIN PLAN FOR
select * from departments where department_name='COMPUTER';
--Display explain plan.
select * from table(dbms_xplan.display);
【讨论】:
谢谢@jonearles 我刚回来添加显示部分!【参考方案2】:ALTER INDEX dept.idx MONITORING USAGE;
select * from departments where department_name='COMPUTER'
SELECT index_name,
table_name,
monitoring,
used,
start_monitoring,
end_monitoring
FROM v$object_usage
WHERE index_name = 'IDX'
ORDER BY index_name;
【讨论】:
以上是关于ORACLE 我要在sql语句中使用变量,在后面的表里面使用该变量的主要内容,如果未能解决你的问题,请参考以下文章