【oracle的存储管理】教程文章相关的互联网学习教程文章

PLSQL创建Oracle定时任务,定时执行存储过程【图】

1、创建定时向表中插入数据的存储过程,名为PROC_TEST CREATE OR REPLACE PROCEDURE PROC_TEST ISBEGIN Insert into A(ID,NAME) SELECT ID,NAME FROM B; COMMIT;EXCEPTIONWHEN OTHERS THEN dbms_output.put_line(error); ROLLBACK;END PROC_TEST; 2、使用plsql找到定时器对应的DBMS_Jobs文件夹,右键new。 3、设置定时任务 在what值中填写待执行的存储过程,可以多个,用逗号(,)隔开。在间隔中填写执行时间策略。具...

oracle存储过程转达梦8存储过程时踩过的坑【代码】【图】

达梦存储过程的语法与oracle的高度相似,但有好多细节还是有差异。我在这次项目迁移中踩过不少小坑,在这里给大家分享一下。 说明一下,我用的版本是达梦8,迁移时碰到的问题有些我已经反馈给达梦的官方群管理员,估计以后会有修复。 rpad问题 达梦的rpad函数,计算中文时永远是认为一个中文字符中两个字节,即使数据库设置的字符集是utf8(目前就发现rpad/lpad函数有这个问题,其它字符串函数都能正确识别,当字符集是utf8时能识别...

ORACLE存储过程创建失败,如何查看其原因【代码】【图】

工作中用SQL Server比较多,Oracle可以说是小白,最近想用存储过程来完成单据复制的功能,结果遇到各种问题,其实都是非常简单的问题,但是对我来说还是花了很多时间来解决,浪费这些时间非常不值得,也由此让我越发喜爱微软的产品,不管是Visual Studio、SQL Server Management Studio还是Office,易用性都是非常的好。 我要创建的存储过程并不复杂,就是插入表的字段真TMD多,代码如下:create or replace procedure procPushMea...

Oracle 执行JOB程序自动存储数据

//执行定时任务DECLARE JOB NUMBER;BEGIN SYS.DBMS_JOB.SUBMIT(job,CUX_FinishedProcedure;,SYSDATE,SYSDATE+30/(60*24*60));END; //执行存储过程CREATE OR REPLACE PROCEDURE CUX_FinishedProcedure IS vExist NUMBER(30); isExist NUMBER(30); VERRINFO VARCHAR(100);BEGIN FOR I IN (select mfg.mfgordername,co.mfgorderid,en.enterprisename,sum( co.qty2)as cuxboxqty ,sum (co.qty) qty,cum.after...

oracle存储过程迁移达梦心得

这几天把项目的存储过程从oracle迁移到了达梦8,记录一下心得。国产数据库做到这样,已经算很了不起了,跟oracle兼容性确实很高。 但还是有一些细节没做好,主要是出错提示不友好,另外一个网上的资料也很少,出问题不好定位。(达梦的错误码比较简单,就是一个负数,不像oracle是ora-错误码,在百度时输入一个负数搜索信息,跟一长串错误码搜索效率差很远) 准备工作: 1 达梦的数据库管理工具默认不显示行号,也不能自动补全,需...

Oracle批量修改表字段类型(存储过程)【代码】

DECLARECURSOR TEMP IS SELECT CREDITZS_CODE,ATTRIBUTE_CODE,ATTRIBUTE_INFO_TYPE,T.ID FROM CREDIT_DIRECTORY_ATTRIBUTE T,CREDIT_DIRECTORY_TREE E WHERE T.TREE_ID=E.ID AND ATTRIBUTE_INFO_TYPE='number'AND ATTRIBUTE_CODE IN('CF_NR_FK','CF_NR_WFFF');STR VARCHAR2(100) := '';ATT NUMBER;BEGIN FOR S IN TEMP LOOPSTR := 'ALTER TABLE '||S.CREDITZS_CODE||' MODIFY('||S.ATTRIBUTE_CODE||' NUMBER(30,4))';ATT :=1;BE...

Oracle练习-存储过程、函数、索引、视图、序列与同义词【图】

以下是网络查询的所谓标准答案,谨慎参考!!!(选择题是正确的放心,括号的表解释说明,懂得都懂!)一.单选题1,以下哪种程序单元必须返回数据? (10.0分) A 存储过程 B 函数 C 触发器 D 包 2,当建立存储过程时,以下哪个关键字用来定义输出型参数? (10.0分) A in B procedure C out D function 3,下列哪个语句可以SQL Plus中直接调用一个存储过程? (10.0分) A return B exec...

Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)

Oracle?导出、导入某用户所有数据(包括表、视图、存储过程...) 前提:在CMD 命令下?导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:\abcd.dmp)测试截图:exp ZM/sql123@ORCL owner=ZM file=F\abcd.dmp ?导入命令:imp 用户名/密码@数据库 fromuser=用户名 touser=用户名 file=d:\cu.dmp ignore=y?imp:命令类型? cu/mycu@db:导入的数据库登陆(用户名/密码@数据库)? fromuser:文件的指定用户?touser:指...

如何建立及调用oracle存储过程-实例【代码】

Oracle SQL Developer定制每天执行一次存储过程的计划任务 1.获取昨天一天的所有数据select pk_information,problemno,problemname,productid,partno,createUser,createTime,dutygroup,dutyuser,batch,problemtype,emergencydegree from brsj_kms_problemwhere createtimebetween to_char(sysdate-1,yyyy-mm-dd)and to_char(sysdate,yyyy-mm-dd);2.将查询到的数据插入到对应的表中 insert into ...

oracle批量插入存储过程

select count(1) from khsj create or replace procedure proc_insert_khsj as casekey char(14); begin for i in 1..500000 loop casekey := TMP||lpad(i,7,0); -- TMP0000001 insert into khsj values(i, 1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); end loop; commit; end; begin proc_insert_khsj(); end;

Oracle 查询用户所有表、表的索引、存储过程和存储函数信息【代码】【图】

1.查询某个用户的所有表select * from all_tables where owner=SCOTT;--SCOTT为用户名,用户名必须是大写2.查看当前登录的用户的表:select * from user_tables;3.查询表的触发器信息select trigger_name from all_triggers where table_name=EMP;--EMP为表名称,表名称必须大写4.查询出触发器的详细信息select * from all_source where name=HELLO_WORLD and type=TRIGGER --name和type值都必须大写5.查询存储过程信息--存储过程...

Oracle数据库中查询所有触发器、存储过程、视图、表

方法一: Select object_name From user_objects Where object_type=TRIGGER; --所有触发器 Select object_name From user_objects Where object_type=PROCEDURE; --所有存储过程 Select object_name From user_objects Where object_type=VIEW; --所有视图 Select object_name From user_objects Where object_type=TABLE; --所有表 方法二: 当然,还可以试试下面的语句 Select * From user_triggers; --所有触发器 Select * ...

Oracle存储过程执行update语句不报错不生效问题

今天写了一个存储过程,过程内容主要用于更新操作。编译正常,执行完毕后却不起作用,单独拿出更新语句执行发现没有问题,编译正常、执行正常,那问题出在哪里啦? 查了一下原因结果竟然是:传入的参数名 和 更新的表字段相同,导致更新不起作用,改了一下参数名果然就好了。 https://www.cnblogs.com/wenlong/p/5255664.html

Oracle 数据库下赋予用户的执行存储过程和创建表权限【代码】

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 权限):GRANT SELECT,INSERT,UPDATE,DELETE GRANT SELECT,INSERT,UPDATE,DELETE,alter 删除读取所有表的权限:Revoke select ...

Oracle调用存储过程返回游标结果

/** 调用Oracle存储过程 */ public ResultSet queryForAllJSD_NEWEST(final String hpCode, final String id) {System.out.println("hpCode:"+hpCode+",id:"+id); ResultSet rs = (ResultSet)this.jdbctemplate.execute("{call pro_querybcb_newest(? , ? ,?)}" , new CallableStatementCallback(){ public Object doInCallableStatement(CallableStatement cs) throws SQLException, Da...