grant execute on dbms_lock to USERNAME;   dbms_lock.sleep(time)参数单位为秒   create or replace procedure initdata is num number := 0; begin   for i in 1 .. 500 loop   num := num + 1; if num >= 1000 then dbms_lock.sleep(5); num := 0; dbms_output.put_line('…
关于Oracle存储过程执行权限问题的解决 http://blog.sina.com.cn/s/blog_6ceed3280101hvlo.html (2014-04-02 04:06:28) 转载▼   分类: oracle-基础     今天晚上升级,有个存储过程死活编译不过去,提示权限不足,但是用户是具有dba权限的,网上一查才知道,oracle存储过程分两种,DR(Definer's Rights ) Procedure和IR(Invoker's Rights ) Procedure.…
1.存储过程执行增加的sql create or replace procedure test_add(id varchar,name varchar,time varchar,age varchar,sex varchar) is begin insert into table(id,name,time,varchar,age,sex); commit; end; 执行语句如下: set serveroutput on; call test_add(','男'): 2.存储过程执行修改的sql…
疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\product\11.2.0\dbhome_1\jdbc\lib,文件夹中有若干.jar文件,选择ojdbc6.jar即可. 2.连接oracle 驱动位置:oracle.jdbc.OracleDriver url写法:jdbc:oracle:thin:@localhost:1521:orcl 3.J…
改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutput on;    ----以便打印出输出禁用约束检查 exec MANAGE_USER_CONSTRAINTS('disable',true,true,true); 启用约束 exec MANAGE_USER_CONSTRAINTS('enable',true,true,true); CREATE…
某日监控报存储过程执行失败,查看返回码为sql668n [db2inst1@limt bin]$ db2 ? sql668n SQL0668N Operation not allowed for reason code "<reason-code>" on table "<table-name>". Explanation: Access to table "<table-name>" is restricte…
今天一个生成10w条数据的存储过程执行了95s,但是单独执行SQL语句只需要28s,查资料后发现原来这是存储过程的机制导致的,也就是传说中的参数嗅探 网上的一段话: (1)可能是发生了参数嗅探,第一次赋给存储过程的输入参数,会为该存储过程生成一个基于输入参数的执行计划,因此如果第一次输入的参数不具有代表性(例如大部分查询输入的参数都是A值,但第一次执行存储过程时输入的是B值),就有可能比即席查询慢,尽管即席查询需要重新编译执行计划,但选择了更有效率的计划.尝试使用和即席查询一样的参数,来执行存储…
今天老大提出一个需求,想查看数据库存储过程执行的次数,以前没有接触过,于是网上找了下,发现还真有! 不废话,贴出来sql语句,直接执行即可看到结果: use master select text,execution_count FROM sys.dm_exec_query_stats as qs CROSS APPLY sys.dm_exec_sql_text (qs.sql_handle) as st 希望对你有所帮助!^_^!…
1.EXEC 执行Sql语句被截断的问题: Sql语句: SET @sqlSel='SELECT '+@sqlField+', SUM(ISNULL(b.customsTariff_Sup,0))AS customsTariff_Sup,SUM(ISNULL(addedValueTax_Sup,0))AS addedValueTax_Sup,SUM(ISNULL(ConsumptTax_Sup,0))AS ConsumptTax_Sup, SUM(ISNULL(customsTariff_Ref…
转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分页.排序.查询的组合SQL语句,举例来说,通常我们会这样写:(假定表test中id是主键,并且id从1开始没有间断顺序排列) 1. SELECT * FROM (       SELECT id,a1,a2,a3,a4,a5,a6,a7,a8,a9, ROWNUM AS rn FROM test  …
Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数的存储过程执行方法,这一篇我们介绍带参数的存储过程执行方法,它调用通用数据访问类(SqlHelper)执行 SqlHelper.ExecuteNonQuery()方法,使用示例为; SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure…
原文:DBA工具--DMV--通过sys.dm_exec_procedure_stats查看存储过程执行信息 对于DBA来说,经常要手机存储过程的某些信息: 执行了多少次 执行的执行计划如何 执行的平均读写如何 执行平均需要多少时间 列名 数据类型 说明 database_id int 存储过程所在的数据库 ID. object_id int 存储过程的对象标识号. type char(2) 对象的类型: P = SQL 存储过程 PC = 程序集 (CLR) 存储过程 X = 扩展存储过程 t…
有时候需要抓取执行存储过程时某个参数的值,有时候程序调用存储过程执行后结果不太对,不确定是程序的问题还是存储过程的问题,需要单独执行存储过程看结果 即可用下面的方法 --================================================================================================ --创建对某个存储过程的执行情况的跟踪 --注意修改路径 和 object_id --=========================…
0x01 提权准备 这里我们先创建一个低权限的用户test SQL> conn sys/admin123@orcl as sysdba; 已连接. SQL> create user test identified by test; 然后查看一下权限 SQL> select * from session_privs; PRIVILEGE CREATE SESSION 如上显示,test没有JAVA权限,也只有CREATE SESSION权限 我们如果要通过数据库执行系统命令,那么首先要提升…
安装出现的错误: [weblogic@localhost ~]$ java -jar fmw_12.1.3.0.0_wls.jar 启动程序日志文件为/tmp/OraInstall2019-07-31_10-09-36AM/launcher2019-07-31_10-09-36AM.log. 正在提取文件...... 主清单位置 "/u01/app/oracle/inventory" 无效 (无法读取/写入/执行). [weblogic@localhost ~]$ 解决: 1.在wls…
接上篇,游标使用的语句,相当于一段匿名的函数,窗口关闭了就不存在了.如果想要窗口关闭了,还能继续执行那段代码,就需要存储过程了: PLSQL是指一个个PLSQL的业务处理过程存储起来进行复用,这些被存储起来的PLSQL程序称之为存储过程. 语法: plsql如何创建存储过程: 1.  一个简单的存储过程,存储过程名称为 p_hello create or replace procedure p_hello is --如果需要,在此处声明变量 begin dbms_output.put_line(…
Oracle JOB的建立,定时执行任务 oracle job的相关设置 next date: 2010-12-28 18:05:00 interval: to_date(to_char(sysdate,'yyyy-mm-dd')||' 18:05:00','yyyy-mm-dd hh24:mi:ss')+1 --************************************************************************************** Oracl…
1.弱网测试: 2.暂停页面执行 1.js代码:可以直接在页面上打断点 缺点:需要看懂前端的代码 2.点击暂停按钮,如下图,再次点击,可继续运行…
转载链接:http://lin49940.iteye.com/blog/466626 今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会报错. 如一个表 A(id, code, name, type) 在存储过程中的更新操作的语句: update A x set x.type = 变量A where x.code = 变量B; 变量A 和 变量B 都定义好了, 并且都成功赋值了. 这是一个很简单的更新语句, 简单到一开始对为什么发生…
存储过程代码为: create or replace procedure proc_test(pCursor OUT pak_pub.ut_cursor) AS begin -- 使用游标 open pCursor for select * from temp; end ; 其中pak_pub.ut_cursor的定义为: /*创建一个package存放定义的游标*/ create or replace package pak_pub as type ut_cursor is ref curso…
create or replace procedure p_outputdebug(a varchar2,b varchar2,c varchar2)is vFileName varchar2(100); OutputFile UTL_FILE.FILE_TYPE;begin select 'rfid_'||a.rfid||'.log' into vFileName from tbl_animal_info a where a.rfid='330100000078176' ; OutputFil…
grant create any table to username; grant create any procedure to username; grant execute any procedure to username; 创建执行JOB权限: grant create job to 用户; grant manage scheduler to 用户; 给一个表的读取权限: grant select on 表名 to 用户名; 删除修改权限 (alter 有 truncate 权限):…
-----------------------------修改(表名,主键ID,要修改的列) create or replace procedure pro_code_edit(p_tbname in varchar2,p_ct_id in varchar2,p_codename in varchar2) as    p_str varchar2(400); begin   p_str := 'update '||p_tbname||' set codename = '''||p_codeNam…
http://jingyan.baidu.com/article/5d6edee2fbb9f999eadeecb9.html http://jingyan.baidu.com/article/363872ecca722b6e4ba16f18.html…
有名字的Plsql块,成为Oracle的对象,在以后用到时可以直接调用. CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) IS -IN 为输入参数 参数不加长度 name ); --这里定义的变量必须给长度 BEGIN SELECT books_name INTO name FROM books WHERE books_id=id; DBMS_OUTPUT.PUT_LINE(name); END myproc; / 执行方法: 1.SQL>E…
使用job模拟定时从元数据表中抽取指定数据进入目标表的过程. 一.创建元数据表 --create table test_origianl create table test_original_data( id number(10,2) primary key, name varchar2(200), descCont varchar2(100), dateType char(5) ); 二.元数据表中插入数据 insert into test_original_data values(2.9,'…
存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数,可以将执行部分的数据传递到应用环境.在sqlplus中可以使用create procedure命令来建立过程.实例如下:1.请考虑编写一个存储过程,可以输入雇员名,新工资,用来修改雇员的工资 --根据雇员名去修改工资CREATE PROCEDURE sp_update(uname VARCHAR2, newsal NUMBE…
  前提: 在Oracle中已经定义  存储过程  和  存储函数 和  包 导入了Oracle的JDBC   jar  包 package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils { priva…
背景 这是在一个不知如何表达的项目中,我在这个项目中做的就是不知如何表达的事情.只是想着技术,到是通过这个项目把存储过程基本能用的都用了,oracle开发的技术我感觉基本都全活了.别人没搞定的我搞定了,搞笑的是别人通过这个项目都升职加薪了,结果我气跑了,我是不是干没用的.所以说程序员的根本是啥,根本就是个手艺人,跟以前的木工.瓦工.理发师有啥区别,这个职业的区别就是程序要好给自己弄个高大上的帽子,好像搞技术可以登上艺术的大堂,其实木工搞好了也是艺术.摆正位置,别拿程序员的技术太当回事了,只是个混…
一.异常 1.处理异常 (1)除数不为0 declare b number; begin b:; exception when zero_divide then dbms_output.put_line('除数不能为0'); end; DBMS输出:除数不能为0. (2)找不到参数 declare vename ); begin ; --此处会报no date found异常 exception when no_date_found then dbms_output.put_line('未找到任…