上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 69 下一页
  2013年6月24日
摘要: oracle内部提供的在数据库内部和应用程序间通信的方式有以下几种:1.警报,就是DBMS_ALERT包提供的功能;2.管道,由DBMS_PIPE提供;3.高级队列,这个就很复杂,当然提供的功能也是很高级的。当然还可以使用外部过程,比如用PL/SQL封装外部的基于C的DLL或JAVA也能实现数据库和应用程序间的通信。 要使用这些功能,必须知道各个功能的特点,根据需要选用。警报和事务相关的,是异步发送的;管道是与事务无关的,是同步发送的。dbms_alert用于生成并传递数据库预警信息。使用包DBMS_ALERT,则必须以SYS登陆,为该用户授予执行权限。sql>conn sys/orac 阅读全文
posted @ 2013-06-24 15:55 Ruthless 阅读(4957) 评论(0) 推荐(1)
摘要: 用于在过程,函数和包中执行sql事务处理语句.1.read_only用于开始只读事务,其作用与sql语句set transaction read only完全相同2.read_write用于开始读写事务3.advise_rollback用于建议回退远程数据库的分布式事务4.advise_nothing用于建议远程数据库的分布式事务不进行任何处理5.advise_commit用于建议提交远程数据库的分布式事务6.user_rollback_segment用于指定事务所要使用的回滚段7.commit_comment用于在提交事务时指定注释.8.commit_force用于强制提交分布式事务.9.c 阅读全文
posted @ 2013-06-24 15:53 Ruthless 阅读(2839) 评论(0) 推荐(0)
摘要: oracle中随机数的包的源文件目录:{oracle_home}\rdbms\admin\dbmsrand.sql1.返回0~1间的随机数(包括0和1)sql> select dbms_random.value from dual;2.返回10~20间的随机数(包括10和20)sql> select dbms_random.value(10,20) from dual;3.随机返回一个numbersql> select dbms_random.normal from dual;注意:normal函数返回从正态分布的一组数。此正态分布标准偏差为1,期望值为0。这个函数返回的数值 阅读全文
posted @ 2013-06-24 15:51 Ruthless 阅读(2984) 评论(0) 推荐(1)
摘要: 在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;在视图(VIEW)中只能用AS不能用IS;在游标(CURSOR)中只能用IS不能用AS。 阅读全文
posted @ 2013-06-24 15:46 Ruthless 阅读(19360) 评论(1) 推荐(4)
摘要: 涉及到的问题1、在select语句中使用条件逻辑2、限制返回的行数3、从表中随机返回n条记录4、将空值转换为实际值5、对字母和数字混合的数据排序6、处理排序空值7、根据数据项的键排序–8、从一个表中查找另一个表没有的值–9、在一个表中查找与其他表不匹配的记录–10、向查询中增加联接而不影响其他联接–11、检测两个表中是否有相同的数据–12、从多个表中返回丢失的数据–13、在运算和比较时使用null值–1、在select语句中使用条件逻辑select ename, sal, case when sal=4000 then 'OVERPAID' else 'OK' 阅读全文
posted @ 2013-06-24 15:45 Ruthless 阅读(1114) 评论(0) 推荐(1)
摘要: 涉及到的问题–1、从一个表向另外的表中复制行–2、复制表定义(包含表记录)–3、一次向多个表中插入记录–4、–5、当相应行存在时更新–6、用其他表中的值更新–7、删除违反参照完整性的记录–1、从一个表向另外的表中复制行insert into dept_test (deptno, dname, loc) select deptno, dname, loc from dept where deptno=10–2、复制表定义(包含表记录)create table dept_test as select deptno, dname, loc from dept where deptno=10–3、一次 阅读全文
posted @ 2013-06-24 15:43 Ruthless 阅读(753) 评论(0) 推荐(0)
摘要: 1、遍历字符串2、计算字符在字符串中出现的次数3、从字符串中删除不需要的字符4、将字符和数字数据分离5、判别字符串是不是字母数字型的6、提取姓名的大写首字母缩写7、按字符串中的部分内容排序8、按字符串中的数值排序9、根据表中的行创建一个分隔列表10、按字母顺序排列字符串11、判别可作为数值的字符串12、提取第n个分隔的子串13、分解IP地址1、遍历字符串1)、select * from t10 order by id asc; ID———- 1 2 3 4 5 6 7 8 9 102)、select substr(e.ename, iter.id, 1) as cfrom (select &# 阅读全文
posted @ 2013-06-24 15:41 Ruthless 阅读(558) 评论(0) 推荐(0)
摘要: 1、计算不包含最大值和最小值的均值2、把字母数字串转换为数值3、更改累计和中的值–显示存款或取款后的值4、加减日、月、年5、计算两个日期之间的天数6、确定两个日期之间的工作日数目表EMP中,计算BLAKE和JONES的hiredate(聘用日期)之间的工作日数(除去星期六、星期天)7、确定两个日期之间的月份数或年数例如:EMP表中,求第一个员工和最后一个员工之间相差的月份数,以及这些月折合的年数8、确定两个日期之间的秒、分、小时数例如:EMP表中,求ALLEN和WARD的hiredate(聘用日期)之间相差的时间,分别用秒、分、小时表示9、计算一年中周内各日期的次数10、确定当前记录和下一条记 阅读全文
posted @ 2013-06-24 15:40 Ruthless 阅读(1196) 评论(0) 推荐(0)
摘要: 现有一张老师学生表(tb_tea_cou),由于业务需要,需把老师学生表tb_tea_stu拆分成两张表(tb_tea、tb_cou),并把记录insert到这两张子表中(tb_tea、tb_cou为关联的两张表)。表结构如下:tb_tea_cou( id, //pk name, //任课老师 zc, //职称 course //课程),老师表:tb_tea( tid, //pk tname, //任课老师 zc //职称),课程表:tb_cou( cid, //pk course, //课程 tea_id //fk,tb_tea id)插入数据INSERT INTO tb_tea_cou ( 阅读全文
posted @ 2013-06-24 15:34 Ruthless 阅读(6349) 评论(0) 推荐(0)
摘要: 1、类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plus,但比它好用多了。2、设置关键字自动大写:Tools->Preferences->Editor,将Keyword case选择Uppercase。这样在窗口中输入sql语句时,关键字会自动大写,而其它都是小写。这样阅读代码比较容易,且保持良好得编码风格,同理,在Tools->Preferences->Code Assistant(助手)里可以设置代码提示延迟时间、输入几个字符时提示、数据库对象的大写、小写,首字母大写等;3、查看执 阅读全文
posted @ 2013-06-24 15:28 Ruthless 阅读(109974) 评论(4) 推荐(11)
摘要: 涉及到的知识要点a、带有一个&的替换变量的用法b、带有两个&的替换变量用法c、define命令用法d、accept命令用法e、定制SQL*Plus环境f、在glogin.sql文件中保存定制结果g、sqlplus编辑命令a、带有一个&的替换变量的用法1)、使用带有一个&号的变量值来提示用户输入一个值。eg、SQL> SELECT empno, ename, sal, deptno FROM emp WHERE empno = &empno;输入 empno 的值: 7369原值 1: SELECT empno, ename, sal, deptno 阅读全文
posted @ 2013-06-24 15:16 Ruthless 阅读(8841) 评论(0) 推荐(0)
摘要: column是sqlplus里最实用的一个命令,很多时候sql语句输出的列宽度不合适而影响查看,都需要用到这个命令来更改select语句中指定列的宽度和标题。大部分时候,我们可以简写column为col即可,主要有以下用法:a)、修改列宽度col c1 format a20 –将列c1(字符型)显示最大宽度调整为20个字符col c1 format 9999999 –将列c1(number型)显示最大宽度调整为7个字符b)、修改列标题col c1 heading c2 –将c1的列名输出为c2c)、设置列的对齐方式SQL> col ename justify left/right/cen 阅读全文
posted @ 2013-06-24 15:13 Ruthless 阅读(11899) 评论(0) 推荐(1)
摘要: SQL>set colsep '|'; //输出分隔符eg、SQL> set colsep '|';SQL> select * from dept; DEPTNO|DNAME |LOC———-|————–|————- 10|ACCOUNTING |NEW YORK 20|RESEARCH |DALLAS 30|SALES |CHICAGO 40|OPERATIONS |BOSTONSQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为onSQL>set echo on; //设置运行命令是否显示语 阅读全文
posted @ 2013-06-24 15:03 Ruthless 阅读(15455) 评论(1) 推荐(0)
  2013年6月21日
摘要: 行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串*多行转换成字符串*字符串转换成多列*字符串转换成多行下面分别进行举例介绍。首先声明一点,有些例子需要如下10g及以后才有的知识:a、掌握model子句b、正则表达式c、加强的层次查询讨论的适用范围只包括8i,9i,10g及以后版本。begin:1、列转行未列转行之前的效果如下:列转行的效果如下:sql代码:CREATE TABLE t_col_row(ID INT,c1 VARCHAR2(10),c2 VARCHAR2(10),c3 VARCHAR2(10));INSERT INTO t_col_row VALUES (1,  阅读全文
posted @ 2013-06-21 17:54 Ruthless 阅读(2633) 评论(0) 推荐(0)
摘要: 在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作步骤如下:tools–>preferences–>user interface–>code assistant–>在右边选中authomatically activated即可,如 阅读全文
posted @ 2013-06-21 17:29 Ruthless 阅读(28421) 评论(0) 推荐(0)
摘要: --timestamp转换为date(ts字段为timestamp类型)SELECT cast(ts AS DATE) from tab1 WHERE tid=1;--timestamp转换为date(ts字段为timestamp类型)SELECT cast(ts AS DATE) from tab1 WHERE tid=3;--date相减SELECT (SELECT cast(ts AS DATE) from tab1 WHERE tid=3)-(SELECT cast(ts AS DATE) from tab1 WHERE tid=1) FROM dual;--把date转换为妙SELE 阅读全文
posted @ 2013-06-21 17:26 Ruthless 阅读(20742) 评论(0) 推荐(0)
摘要: 一、oracle数据字典主要由以下几种视图构成:1.user视图以user_为前缀,用来记录用户对象的信息2.all视图以all_为前缀,用来记录用户对象的信息及被授权访问的对象信息3.dba视图以dba_为前缀,用来记录数据库实例的所有对象的信息4.v$视图以v$为前缀,用来记录与数据库活动相关的性能统计动态信息5.gv$视图以gv$为前缀,用来记录分布式环境下所有实例的动态信息二、oracle常用的数据字典1.基本数据字典字典名称 说明dba_tables 所有用户的所有表信息dba_tab_columns 所有用户的表的字段信息dba_views 所有用户的所有视图信息dba_synon 阅读全文
posted @ 2013-06-21 17:23 Ruthless 阅读(7450) 评论(0) 推荐(0)
摘要: 一、导出:打开CMD,输入命令: expUsername:test@orclPassword:Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit ProductionWith the Partitioning, Real Application Clusters and Data Mining optionsEnter array fetch buffer size: 4096 > //设置缓存大小,默认4096,无需修改Export file: expdat.dmp > D 阅读全文
posted @ 2013-06-21 17:18 Ruthless 阅读(1362) 评论(0) 推荐(0)
摘要: 在Shell脚本的执行过程中,Shell脚本支持调用另一个Shell脚本,调用的格式为:程序名实例:在Shell脚本test1中调用test2。1、调用test2#test1脚本root@ubuntu:/home/study# vi test1;#!/bin/bashecho "The main name is $0";./test2;echo "The first string is $1";#test2脚本root@ubuntu:/home/study# vi test2;#! /bin/bashecho "How are you $USE 阅读全文
posted @ 2013-06-21 17:13 Ruthless 阅读(2421) 评论(0) 推荐(0)
摘要: 学习目标Shell的函数Shell程序也支持函数。函数能完成一特定的功能,可以重复调用这个函数。函数格式如下:函数名(){函数体}函数调用方式:函数名 参数列表 实例:编写一函数add求两个数的和,这两个数用位置参数传入,最后输出结果。root@ubuntu:/home/study# vi test3#!/bin/bashadd(){a=$1;b=$2;z=`expr $a + $b`;echo "The sum is $z";}add $1 $2root@ubuntu:/home/study# chmod +x test3root@ubuntu:/ho... 阅读全文
posted @ 2013-06-21 17:11 Ruthless 阅读(7215) 评论(0) 推荐(0)
上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 69 下一页