oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数
oracle中有没有可动态执行sql语句的函数
关注:233 答案:2 手机版
解决时间 2021-03-05 15:53
提问者祗剩寂寞
2021-03-04 22:38
oracle中有没有可动态执行sql语句的函数
最佳答案
二级知识专家对温柔懂得不多
2021-03-04 23:23
时需要在oracle 存储过程中执行动态SQL 语句 ,例如表名是动态的,或字段是动态的,
或查询命令是动态的,可用下面的方法:
set serveroutput ondeclaren number;sql_stmt varchar2(50);
t varchar2(20);beginexecute immediate 'alter session set nls_date_format=''YYYYMMDD''';
t := 't_' || sysdate;
sql_stmt := 'select count(*) from ' || t;
execute immediate sql_stmt into n;
dbms_output.put_line('The number of rows of ' || t || ' is ' || n);end;
如果动态SQL 语句 很长很复杂,则可用包装.
CREATE OR REPLACe PACKAGE test_pkgISTYPE cur_typ IS REF CURSOR;
PROCEDURE test_proc (v_table VARCHAR2,t_cur OUT cur_typ);END;/
CREATE OR REPLACE PACKAGE BODY test_pkgISPROCEDURE test_proc (v_table VARCHAR2,t_cur OUT cur_typ)ISsqlstr VARCHAr2(2000);BEGINsqlstr := 'SELECT * FROM '||v_table;
OPEN t_cur FOR sqlstr;END;END;/
在oracle 中批量导入,导出和删除表名以某些字符开头的表
spool c:\a.sql
全部回答
1楼戰磕蒗亽辤
2021-03-05 00:08
---正在执行的
select a.username, a.sid,b.sql_text, b.sql_fulltext
from v$session a, v$sqlarea b
where a.sql_address = b.address
---执行过的
select b.sql_text,b.first_load_time,b.sql_fulltext
from v$sqlarea b
where b.first_load_time between '2009-10-15/09:24:47' and
'2009-10-15/09:24:47' order by b.first_load_time
(此方法好处可以查看某一时间段执行过的sql,并且 sql_fulltext 包含了完整的 sql 语句)
其他
select osuser,program,username,schemaname,b.cpu_time,status,b.sql_text
from v$session a left join v$sql b on a.sql_address=b.address and a.sql_hash_value=b.hash_value order by b.cpu_time desc
select address, sql_text, piece
from v$session, v$sqltext
where address = sql_address
-- and machine = < you machine name >
order by address, piece
查找前十条性能差的sql.
select * from (select parsing_user_id,executions,sorts,
command_type,disk_reads,sql_text from v$sqlarea
order by disk_reads desc )where rownum<10 ;
查看占io较大的正在运行的session
select se.sid,se.serial#,pr.spid,se.username,se.status,
se.terminal,se.program,se.module,、se.sql_address,st.event,st.
p1text,si.physical_reads,
si.block_changes from v$session se,v$session_wait st,
v$sess_io si,v$process pr where st.sid=se.sid and st.
sid=si.sid and se.paddr=pr.addr and se.sid>6 and st.
wait_time=0 and st.event not like '%sql%' order by physical_reads desc
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看
oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数相关推荐
- Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本.
Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本. 如果是不小心,删除了oracle中自带的emp 和 dept表,就能用下面的sql语句执行一下用来恢复.. 或者 ...
- oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用
导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...
- 资源放送丨《Oracle中为什么没有Double Write?Oracle支持原子写吗?》PPT视频
点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 李真旭(Roger) 老师分享了<Oracle中为什么没有Double Write?Oracle ...
- oracle exist 10053,Oracle中利用10053事件来分析Oracle是如何做出最终的执行计划
我们都知道Oracle从10g开始SQL语句选择什么样的执行方式,是全表扫描,还是走索引的依据是执行代价.那么我们怎么可以去看执行代价的信息呢?通过10053事件可以Oracle依据的执行代价和如何做 ...
- oracle 中触发器的作用是什么,oracle创建触发器及作用举例
--创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...
- oracle 几种锁,oracle_基于oracle中锁的深入理解,ORACLE里锁有以下几种模式:0:no - phpStudy...
基于oracle中锁的深入理解 ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share ...
- oracle中闪回和回滚,oracle闪回操作详解
Oracle的闪回 oracle中为什么会有闪回呢!它的作用是什么呢?我们来学习一下闪回吧!闪回和回滚异曲同工之妙. 一闪回的介绍 (1)在Oracle的操作工程中,会不可避免地出现操作失误或者用户失 ...
- oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...
1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...
- oracle中闪回和回滚,Oracle Flashback 闪回查询功能9i和10g的区别
Oracle从9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作.在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误 ...
- oracle中怎么给列起别名,oracle中给表和列起别名
SELECT xxmc,sname asxsxm,sex,phone,address jzdzFROMstudent sLEFT JOIN xxjbxx x ON x.sid = s.sid 此处的s ...
最新文章
- 网站被黑你隔了多久才知道?
- AgileEAS.NET平台之ORM设计器
- php命名空间规则解析及高级功能,PHP命名空间解析规则
- 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
- php远程文件包含攻击,PHP “is_a()”函数远程文件包含漏洞
- [C++11]自动类型推导auto
- ansible puppet saltstack三款自动化运维工具的对比
- postman里测试文件上传(MultipartFile)
- MAC VSCode Go代码第一次运行配置
- 雅黑PHP探针Light,雅黑php探针
- 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
- CANoe CAPL文件操作目录合集
- 蒙特卡洛(Monte Carlo)方法的理解
- android studio 3.4教程,android studio3.4安装指南图文教程
- google搜索特殊字符
- C++基础之 函数(function)
- 好用的在线二维码生成器网站PHP源码
- 【Linux操作系统】——Linux命令
- 【uni-app】uni-app实现聊天页面功能——功能篇(下)
- ES match query