OTL之Oracle开发总结《转》】的更多相关文章

OTL之Oracle开发总结---转   关 于OTL,网上介绍的也不少,但看来看去也只是官方的那些文档.OTL很好用,结合官方提供的一些例子,多多尝试才能领悟.经过一个月左右的项目开发,对 OTL也有些了解,在这里总结一下,希望对刚接触OTL的新手有所帮助.其中有些地方,比如对网络异常的处理,可是费了我两天的时间才解决的,我那个汗 哪.废话少说,开始正题: 一.开始前的准备工作 在使用OTL进行编程之前,要首先确定使用的Oralce版本以及所选用的字符集.OTL支持目前几乎所有的主流数据库,可…
目录=========================================1.窗口函数简介2.窗口函数示例-全统计3.窗口函数进阶-滚动统计(累积/均值)4.窗口函数进阶-根据时间范围统计5.窗口函数进阶-first_value/last_value6.窗口函数进阶-比较相邻记录 一.窗口函数简介: 到目前为止,我们所学习的分析函数在计算/统计一段时间内的数据时特别有用,但是假如计算/统计需要随着遍历记录集的每一条记录而进行呢?举些例子来说: ①列出每月的订单总额以及全年的订单总额②…
参考: oracle 的几个开发工具比较 因Oracle几乎是中大型商业企业数据的首选,所以比较一下常用与Oracle的工具. Oracle SQL Developer 免费,一般开发使用足矣,常用. PL/SQL DEVELOPER 比较适合开发人员,界面简单易用,常用.收费可你可使用30天或下载个破解版. Toad 比较专业一些,适合DBA人员使用,功能强大,主要是数据分析(Toad for Data Analysts 2.7),使用也是很容易上手的 假设可以分级别话:初级SQL Devel…
●概念上区别 1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管 理系统(RDBMS). 2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为 Internet的开发平台:Sql server 是基于windows 3.Orace 主要的三类文件是:数据文件,控制文件,恢复日志文件 Sql server: 主要数据文件(必须有且只能有一个),次要数据文件以及日志文件 4.两者支持的命令类别差不多,…
实例1--if语句 /* 慕课网Oracle数据库开发必备之PL/SQL_2-3 判断用户从键盘输入的数字 1.如何使用if语句 2.接收一个键盘的输入(字符串) */ set serveroutput on; --接收一个键盘输入 --num:地址值,含义是:在该地址上保存了输入的值 accept num prompt '请输入一个数字'; declare --定义变量保存键盘输入的数字 pnum number := # begin --执行if语句进行条件判断 then dbms_o…
如何让你的程序可以在oracle数据库和sqlserver数据库自由切换? 如何让你从跨数据库开发的不适中解脱出来? 跟我来吧,我们一起开始entity framework的开发之旅.是的,entity framework让.net程序员不用再关注sql,不用再关注oracle和sqlserver语句的差异,一切,都面向对象! 开发环境: A.开发工具Visual Studio 2010 SP1 B.ODAC(http://www.oracle.com/technetwork/database/…
-- 创建一个用户并分配表空间和分配权限 -- 以sysdba登录 oracle@sha-col-oracle-2:~> sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Mon Mar 7 18:48:59 2016 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Ed…
create or replace function Fuc_Get_AuthorName(RecID_In in varchar2, AdmID_In in varchar2) return varchar2 is Result varchar2(8000); names varchar2(4000); Cursor Cur_Get_AuthorNameS Is SELECT PEOPLENAME From TB_NEWS_CONTRI_AUTHOR Where REC_ID=RecID_In…
1.方法一:创建DBL(data base link) CREATE PUBLIC DATABASE LINK 数据链名称 CONNECT TO 登陆用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 对方Oracle服务器的IP地址)(PORT = 端口号))     )     (CONNECT_DATA =(SERVICE_NAME =…
1)  数据类型差异 Oracle MySQL 注释 单独创建序列来实现 自动增长的数据类型 varchar2 varchar number tinyint,smallint,mediumint,int,bigint float,double clob text,mediumtext,longtext date datetime 无 enum raw binary(n),varbinary(n) 无 bit(n) blob blob,mediumblob,longblob 2)  内建函数差异…
目录 1.查看表结构 desc 2.编辑SQL语句 append.list.change.run 3.保存.检索并运行文件 save.get.start.edit.spool 4.格式化列 column 5.设置页面大小 pagesize 6.设置行大小 linesize 7.清除列格式 clear 8.使用变量 define 9.创建简单报表 10.帮助信息 help 1.查看表结构 desc DESC customers; 2.编辑SQL语句 append.list.change.run S…
一.软件准备 地址:oracle官网 安装包:因为个人学习用,所以就安装服务器端就可以了,不需要客户端. 一共两个压缩文件,解压时一起解压到到一个文件夹. 本人使用的:win32_11gR2_database_1of2,win32_11gR2_database_2of2 二. 软件安装 软件按照说明一直安装就行,没什么特殊配置.下面两处稍微注意下: 1.下面这步注意系统会创建一个全局数据库,默认名为orcl,一般不做修改,修改注意记住名字.因为后续许多地方会用到这个配置.他是数据库系统的入口,通…
先展示一个错误写法 public static String printGg_bysly0List() {// 外网 TransManager tm = new TransManager(); try { // 获取要更改的人员 String sql = "select t.yrk057,t.aac002,t.yr0560 from gg_bysly0 t where t.yr0560 like '2018%'"; List<Gg_bysly0> sybcbnryList…
http://www.itpub.net/forum.php?mod=viewthread&tid=1761963 以前在数据库维护中,基本都是碰到表被锁的情况,然后就是查找被锁的表相关的信息,通过v$session视图查找到相关的sid和serial#,通过 alter system kill session ‘sid,serial#’ kill掉相关的进程即可.但是今天碰到开发包更新过程中,连接中断,导致开发包一直被锁定的状态,无法操作. 由于以前没有遇到包被锁的情况,所以也没太注意这方面的…
集合函数; declare type list_nested ) not null; v_all list_nested := list_nested('changan','hubei','shanghai','beijing','Android','Java-Android'); BEGIN v_all.); for x in v_all.first .. v_all.last loop dbms_output.put_line(v_all(x)); end loop; --dbms_outp…
试验环境: 1)数据库版本:oracle 11.2.0.4 2)建表脚本:以scott的dept及emp表为基础. 父表:dept -- Create table create table DEPT ( DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14), LOC VARCHAR2(13) ) -- Create/Recreate primary, unique and foreign key constraints alter table DEPT ad…
OTL很早前用过,今天写东西要调存储过程,程序写完了,调试死活通不过,折腾了一早晨. 最后才发现错误,这里总结一下: 1.代码写的不规范. 有个参数后边少写了个“,”以至于总是抱错.而单独写的测试例子就没问题,后来一步一步跟踪了后才发现. 2.调用格式 a.如果#define OTL_ORA9I // Compile OTL 4/OCI8编译 则过程调用采用: begin 过程名(:参数1<类型,in|out|inout>,:参数2<类型,in|out|inout>,.....);…
1)创建一个spring-mybatis-mysql这么一个javaweb或java工程 2)导入spring-ioc,spring-aop,spring-transaction,mybatis,c3p0,mysql/oracle相关的jar包和spring整合mybatis的jar包 3)创建students.sql --mysql create table students( sid int(5) primary key, sname varchar(10), ssal double(8,2…
oracle dba和sysdba的区别如下: 1.dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已.而且,dba是Oracle里的一种对象,Role 和User一样,是实实在在存在在Oracle里的物理对象,而sysdba是指的一种概念上的操作对象,在Oracle数据里并不存在. 2.SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS. sysdba身份登陆可以打开,关闭数据库,…
Oracle将用户分成两类:[system]和[sys] [system]用户只能用normal身份登陆em.(可以看成公司的普通成员) [sys]用户具有“SYSDBA”(可以看成公司的CEO)或者“SYSOPER”权限(可以看成公司的运营主管),登陆em也只能用这两个身份,不能用normal. “SYSOPER”权限(公司的运营主管),即数据库操作员权限,权限包括: 打开数据库服务器   关闭数据库服务器备份数据库       恢复数据库日志归档         会话限制 “SYSDBA”权…
Oracle常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749 Byte/char,默认情况用的是Byte NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过…
max 最大数 自动加 1 create or replace function fun_getmaxlot( vend in varchar2 , domain IN VARCHAR2, tag in varchar2 ) RETURN VARCHAR2 AS MAXVAL VARCHAR2(40); NEWIQC VARCHAR2(40); TT VARCHAR2(12); BEGIN BEGIN select max(xsld_lot) into MAXVAL from xsld_det…
1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据.在这种情况下,变量应该拥有与表列相同的类型.例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量: DECLARE v_FirstName VARCHAR2(20); 但是如果first_name列的定义改变了会发生什么(比如说表改变了,first_name现在的类型变为VARCHAR2(25))?那就会导致所有使用这个列的PL/SQL代码都必须进行修…
本文转自:http://www.cnblogs.com/kingjiong/archive/2009/02/19/1393837.html 1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据.在这种情况下,变量应该拥有与表列相同的类型.例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量: DECLARE v_FirstName VARCHAR2(20); 但是如果first_name列的定义改变了会发…
--取出集合;长度 declare type list_nested ) not null; v_all list_nested := list_nested('a','b','c','d','c','d'); begin dbms_output.put_line('list leng :' || cardinality(v_all)); end; / --从集合中取出取消重复的元素 declare type list_nested ) not null; v_all list_nested :…
<ignore_js_op> 截屏图片 (2).jpg (43.34 KB, 下载次数: 21) 下载附件 2012-11-7 12:36 上传   如何取出每个分组的第一条记录(黄色背景),谢谢!!! 如何, 记录, 黄色     相关帖子 本版精华 [大话IT]以“数据”的名义竞技,国产数据库如何突围? [大话IT]如何用算法学习判定“红楼梦(下)”原作者? [大话IT]盘点数据泄露那些事儿,如何做好安全防御? [大话IT]全闪存时代到来,你的存储如何定制? 浪潮K-DB的使用中,如何进行…
create sequence bs_com_seq increment by 1 start with 1 minvalue 1 maxvalue 999999 cycle nocache order; select to_char(sysdate,'yyyymmdd')||lpad(bs_com_seq.nextval,6,'0') from dual…
wmsys.wm_concat是一个聚合函数,其作用是将一列数据转换成一行,也就是我们常用的行专列,但是该函数是一个undocument函数,所以不推荐大家使用这个函数.因为在后续的版本中还提不提供这个函数都不好说呢. 首先创建临时表和测试数据 使用该函数,可以看到我们的按id做group by,把name字段列转置为一行 但是我们使用wmconcat还是会遇到这么两个问题:1.vm_concat函数是无序的.2.遇到ora-22922的错误. 通过我们第二步可以看到name字段在列转行后没有按…
max 最大数 自动加 1 create or replace function fun_getmaxlot( vend in varchar2 , domain IN VARCHAR2, tag in varchar2 ) RETURN VARCHAR2 AS MAXVAL VARCHAR2(40); NEWIQC VARCHAR2(40); TT VARCHAR2(12); BEGIN BEGIN select max(xsld_lot) into MAXVAL from xsld_det…