PHP程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变,则显然难以维护。但是使用存储过程至少有两个最明显的优点:速度和效率。使用存储过程的速度显然更快。在效率上,如果应用一次需要做一系列SQL操作,则需要往返于PHP与ORACLE,不如把该应用直接放到数据库方以减少往返次数,增加效率。但是...
在创建数据库时,可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET,附加字符集)。1. 字符集: (1)用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据 (2)用来标示诸如表名、列名以及PL/SQL变量等 (3)用来存储SQL和PL/SQL程序单元等2. 国家字符集: (1)用以存储NCHAR, NVARCHAR2, NCLOB等类型数据 (2)国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR...
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女]主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本操作步骤如下:1、创建类型 create or replace type splitTable is table of varchar2(100);2、创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString(‘ernanyinv‘,‘nan‘))--fn_splitString函数脚本代码create or replace function fn_splitStrin...
因为昨天去别的公司维护数据,到了之后导完数据才发现,表中的要素内容这一列是空的,刚开始我以为是数据有问题,后来才发现表中的数据的类型是CLOB类型的,而如果直接拿EXCLE中的数据是类型不匹配的,这时候就问了领导,领导说把CLOB类型改成varchar2类型的,不多说了上步骤:因为该列中已经存有数据,所以需要如下:*修改原字段名*/ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;/*添加一个和原字段同名的字段*/ALTER TABLE...
一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水...
Oracle SQL性能优化(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2) WHERE子句中的连接...
1、root用户编写shell脚本OrclBackup.sh#!/bin/bash
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export DATA_DIR=/home/oracle/app/admin/orcl/dpdump
export LOGS_DIR=/home/oracle/app/admin/orcl/dpdump
export DELTIME=`date -d "10 days ago" +%Y%m%d`
export BAKUPTIME=`date +%Y%m%d%H%M%S`
export ...
数据库里有完全一模一样的两条数据;删除一条;保留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录 DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROW...
执行动态sql的语法为:Excute immediate 动态SQL语句 using 绑定参数列表 returning into 输出参数列表 测试表:表:student(id,name,age);例子:存储create or replace procedure p_stu_info(s_id number) isv_name varchar2(10);v_age number;
beginexecute immediate 'select name,age from studentwhere id=:1'using s_idreturning into v_name, v_age;dbms_output.put_line(v_name || '的年龄为:' || to_char(v_age));
exce...
1、找到oracle安装目录中db_1/计算机名_orcl/sysman/config/emd.properties
,
用记事本打开emd.properties,在emd.properties文件 最后一行 的agentTZRegion=GMT改为
agentTZRegion=Asia/Chungking2、在dos
窗口输入 setoracle_sid=orclemctl
stop dbconsole 停止dbconsole服务(下同)3、emctl
config agent getTZ 使更改设置生效4、emctl
start dbconsole 启动dbconsole服务原文:http://www.cnblogs.com/101key/p/35...
1、在window本机安装Xmanager 42、运行Xstart注:如果报错:已申请X11转移失败(首先检查 etc/ssh/sshd_config 中 设置 X11Forwarding yes如果还是不行,可能是服务器缺少X11 forwarding依赖的“xorg-x11-xauth”软件包,所以必须先安装“xorg-x11-xauth”软件包。yum install xorg-x11-xauth)3、运行Xmanager-Passive4、[root@db ~]# xhost + 本机IP注:如果报错1356-200 xhost unable to open display "",可以先不用管5、[orac...
oracle有个数据表现在已经有2500万条数据了,软件用到这个表的数据时就变的特别慢,所以准备把一个月以前的数据全部清除。 我的步骤是(下边操作都是在plsql中运行的) 1、首先 将这个月的数据导出到一个临时表中(这些数据是自己希望保留的) create table tempTable as select id,name from table1 where sj>to_date(‘2013-7-31 23:59:59‘,‘yyyy-mm-dd hh24:mi:ss‘);2、然后将2500万数据整个删除(这个是我在有备份情况下才...
关于substr()函数和substring()函数关于substr()和substring()区别MySQL: SUBSTR( ), SUBSTRING( )
Oracle: SUBSTR( )
SQL Server: SUBSTRING( )例如 Oracle:select substr(‘abcde‘,0,3) from table;
结果:abc
MySQL:select substr(‘abcde‘,0,3);//错误
(记住)转MySQL的时候要把0改为1:select substr(‘abcde‘,1,3);
结果:abc
原文:https://www.cnblogs.com/starsupreme/p/14815613.html
SUSE 11 SP2 装 ORACLE 11g遇到的小问题: 1. 在 database目录里面运行 ./runInstall,之后,出现图形界面,然后点下一步,下一步,到了第3个或者第4个界面,就卡住不动了,内存还有很多,但是界面就是卡住不动了,怎么办呢? 解决方法: 调整屏幕分辨率,调成1024x768,调整完分辨率之后,就好多了。SUSE 的默认分辨率是800x600. 调整分辨率的方法: 650) this.width=650;" src="/upload/getfiles/default/20...
作为一合格的测试人员对数据库的单表查询、多表查询、分组查询、子查询等等这些基本查询方法还是要会的。不然到企业中,容易被一些人鄙视,或者说如果数据库学不好,表查不明白,那么对自己能力来说也是一种侮辱,因为你可以证明自己,你是可以的,尤其是你在面试的时候面对面试官的给你出的一道sql语句题目,你能马上用你的套路把这道题做出了,那么恭喜你过了第一个小关卡。ok,我们今天学习一下数据库中的第一个查询,也是最简单...