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语句的函数相关推荐

  1. Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本.

    Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本. 如果是不小心,删除了oracle中自带的emp 和 dept表,就能用下面的sql语句执行一下用来恢复.. 或者 ...

  2. oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用

    导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...

  3. 资源放送丨《Oracle中为什么没有Double Write?Oracle支持原子写吗?》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 李真旭(Roger) 老师分享了<Oracle中为什么没有Double Write?Oracle ...

  4. oracle exist 10053,Oracle中利用10053事件来分析Oracle是如何做出最终的执行计划

    我们都知道Oracle从10g开始SQL语句选择什么样的执行方式,是全表扫描,还是走索引的依据是执行代价.那么我们怎么可以去看执行代价的信息呢?通过10053事件可以Oracle依据的执行代价和如何做 ...

  5. oracle 中触发器的作用是什么,oracle创建触发器及作用举例

    --创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...

  6. oracle 几种锁,oracle_基于oracle中锁的深入理解,ORACLE里锁有以下几种模式:0:no - phpStudy...

    基于oracle中锁的深入理解 ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share ...

  7. oracle中闪回和回滚,oracle闪回操作详解

    Oracle的闪回 oracle中为什么会有闪回呢!它的作用是什么呢?我们来学习一下闪回吧!闪回和回滚异曲同工之妙. 一闪回的介绍 (1)在Oracle的操作工程中,会不可避免地出现操作失误或者用户失 ...

  8. oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...

    1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...

  9. oracle中闪回和回滚,Oracle Flashback 闪回查询功能9i和10g的区别

    Oracle从9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作.在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误 ...

  10. oracle中怎么给列起别名,oracle中给表和列起别名

    SELECT xxmc,sname asxsxm,sex,phone,address jzdzFROMstudent sLEFT JOIN xxjbxx x ON x.sid = s.sid 此处的s ...

最新文章

  1. 网站被黑你隔了多久才知道?
  2. AgileEAS.NET平台之ORM设计器
  3. php命名空间规则解析及高级功能,PHP命名空间解析规则
  4. 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
  5. php远程文件包含攻击,PHP “is_a()”函数远程文件包含漏洞
  6. [C++11]自动类型推导auto
  7. ansible puppet saltstack三款自动化运维工具的对比
  8. postman里测试文件上传(MultipartFile)
  9. MAC VSCode Go代码第一次运行配置
  10. 雅黑PHP探针Light,雅黑php探针
  11. 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
  12. CANoe CAPL文件操作目录合集
  13. 蒙特卡洛(Monte Carlo)方法的理解
  14. android studio 3.4教程,android studio3.4安装指南图文教程
  15. google搜索特殊字符
  16. C++基础之 函数(function)
  17. 好用的在线二维码生成器网站PHP源码
  18. 【Linux操作系统】——Linux命令
  19. 【uni-app】uni-app实现聊天页面功能——功能篇(下)
  20. ES match query

热门文章

  1. Varnish页面缓存服务
  2. Java 10- 详解var关键字和示例教程
  3. p2p webrtc服务器搭建系列1: 房间,信令,coturn打洞服务器
  4. 年轻的力量!那些30岁前教你重新认识世界的牛人
  5. LINUX内核经典面试题30道及解答
  6. centso7 install Mariadb
  7. linux下安装ftp服务器
  8. 清空memcached中缓存的数据的方法
  9. r语言 服务器网页版ide RStudio Server 简介
  10. python3 missing 1 required positional argument 错误