
Oracle
绝地反击T
世界那么大,我想去看看。
展开
-
oracle创建主键生成序列
主键生成序列create sequence seq_pcwang_emp start with 1 increment by 1原创 2015-10-15 10:39:55 · 2617 阅读 · 0 评论 -
SQL关于IN和EXISTS的用法和区别的比较
1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)。2.exist会针对子查询的表使用索引. not exist会对主子查询都会使用索引. in与子查询一起使用的时候,只能针对主查询使用索引. not in则不会使用任何索引. 注意,一直以来认为exists比in效率高的说法是不准确的。in 是把外表和内表作ha原创 2015-08-29 23:41:45 · 6556 阅读 · 0 评论 -
用PL/SQL语言编写一程序,实现按部门分段统计各个工资段的职工人数、以及各部门的工资总额
--用PL/SQL语言编写一程序,实现按部门分段--(6000以上、6000-3000,3000元以下)统计各个--工资段的职工人数、以及各部门的工资总额(工资总额中不包括奖金)--创建结果表--存储结果数据create table msg(deptno number,count1 number,count2 number,count3 number,saltotal numb原创 2015-08-22 00:10:45 · 11758 阅读 · 2 评论 -
oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用
数值函数: 1、四舍五入函数round() from dual:一行一列组成 select round(23.4) from dual;--默认不写m表示m为0 select round(23.45,1) from dual;--1表示保留小数点后一位,那么是小数点的第二位四舍五入 select round(23.45,-1) from dual;---1表示小数点前一位四舍五入取整,前一原创 2015-08-21 15:30:37 · 1280 阅读 · 0 评论 -
什么是ODBC
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给OD原创 2015-08-21 12:28:32 · 3751 阅读 · 0 评论 -
利用oracle的游标为员工涨工资,从最低工资涨起每人涨10%,但工资总额不能超过5万元
--为员工涨工资,从最低工资涨起每人涨10%,但工资总额不能超过5万元,--请计算涨工资的人数和涨工资后的工资总额,并输出涨工资人数及工资总额--sql语句--select empno,sal from emp order by sal;--光标--循环--退出条件(1、工资总额大于5万;2、%notfound)--变量:1、初始值 2、如何得到--涨工资的人数:countEmp nu原创 2015-08-20 16:55:04 · 8120 阅读 · 0 评论 -
oracle:利用游标统计每年入职的员工人数
--删除原先的表创建emp表--drop table emp;create table emp(ename varchar2(20),hiredate varchar2(20));--插入数据insert into emp values('哈哈1','1980-01-01');insert into emp values('哈哈2','1980-11-01');insert in原创 2015-08-20 16:23:01 · 4764 阅读 · 1 评论 -
利用带参数的游标来传入指定的部门以此查出这个部门的所有员工的姓名
--查询某个部门中员工的姓名--set serveroutput ondeclare--定义带参数的游标cursor cemp(dno number) is select ename from emp where deptno=dno;pename emp.ename%type;begin --打开光标 open cemp(10);--10号部门 loop -原创 2015-08-19 21:55:49 · 4937 阅读 · 0 评论 -
oracle中游标的属性和修改默认游标的大小
/*1、光标的属性%found %notfound%isopen 判断光标是否打开%rowcount 影响的行数2、光标数的限制:默认情况下,oracle数据库只有300个光标*/--set serveroutput ondeclare--定义光标cursor cemp is select empno,empjob from emp;pempno emp.empno%typ原创 2015-08-19 21:42:11 · 6397 阅读 · 0 评论 -
给员工涨工资,总裁1000,经理800,其他400
--先删除原先的表empdrop table emp;--创建表empcreate table emp(ename varchar2(20),empjob varchar2(20),sal number);--select * from emp;--为表输入数据insert into emp values('smith','clerk',800);i原创 2015-08-19 21:07:16 · 2588 阅读 · 0 评论 -
oracle之光标(游标)介绍
--一个具体的光标--定义光标cursor c1 is select ename from emp;--打开光标open c1;--取一行光标的值:--含义是从c1这个光标中取一条记录赋值给penamefetch c1 into pename;--(取一行到变量中)--关闭光标close c1;--(关闭游标释放资源)--使用PLSQL给原创 2015-08-19 19:20:09 · 2179 阅读 · 0 评论 -
oracle游标:查询并打印员工的姓名和薪水
--查询并打印员工的姓名和薪水--set serveroutput on/*1、光标的属性 %found:如果取到了记录就是true否则是false; %notfound:*/declare--定义一个光标cursor cemp is select ename,sal from emp;--为光标定义对应的变量pename emp.ename%type;原创 2015-08-19 19:17:46 · 5020 阅读 · 0 评论 -
PL/SQL学习笔记
默认情况下oracle的输出开关是关闭的,所以出现虽然程序报告我们说程序运行成功了但是我们却没有看到任何输出结果,所以我们要手动打开oracle的输出开关:set serveroutput onPL/SQL (Procedure Language/SQL):是oracle对sql语言的过程性扩展,是面向过程的语言,比面向过程语言要简单、高效、灵活。不同数据库的SQL扩展原创 2015-08-19 17:25:53 · 501 阅读 · 0 评论 -
PL/SQL语句学习之使用while、loop和for三种循环打印数字的1-10
--使用while循环打印数字的1-10--set serveroutput ondeclare --定义循环变量赋初值为1 pnum number := 1;begin while pnum<=10 loop --循环体 dbms_output.put_line(pnum); --使得该变量+1原创 2015-08-19 15:02:16 · 16090 阅读 · 0 评论 -
oracle实现查询每一个部门的员工工资排在前三的员工的基本信息详细举例
--先删除原先存在的表:drop table emp;--创建表empcreate table emp( deptno number, ename varchar2(20), sal number); --插入数据--部门1的员工信息insert into emp values(1,'王嘻嘻1',15000);insert into emp val原创 2015-08-19 14:32:59 · 15809 阅读 · 0 评论 -
oracle的引用型变量和记录型变量程序举例
--引用型变量--打开oracle的输出口--set serveroutput ondeclare --定义引用型变量,查询并打印1232的姓名和薪水 --pename varchar2(20);--这2句和下面的2句效果一致 --psal number; pename emp.ename%type; psal emp.sal%type;begi原创 2015-08-19 12:13:40 · 4686 阅读 · 0 评论 -
oracle存储函数之在应用程序中使用存储函数输出指定用户的基本信息
第一步,创建表和数据,省略第二部创建存储过程:如下--存储函数:查询某个员工的年收入create or replace function queryempincome(eno in number)return numberas --定义变量保存员工的薪水和奖金 psal emps.sal%type;--员工的月薪,类型和emps表的sal字段类型一致 pcom原创 2015-08-18 22:49:23 · 715 阅读 · 0 评论 -
转:oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)
认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:* 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代码不保存转载 2015-08-18 21:37:59 · 721 阅读 · 0 评论 -
oracle存储过程--在应用程序中访问存储过程程序完整举例
认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:* 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代码不保存原创 2015-08-18 21:35:36 · 1672 阅读 · 0 评论 -
oracle创建存储函数:查询某个员工的年收入
--存储函数:查询某个员工的年收入create or replace function queryempincome(eno in number)return numberas --定义变量保存员工的薪水和奖金 psal emp.sal%type;--员工的月薪,类型和emp表的sal字段类型一致 pcomm emp.comm%type;--奖金begin原创 2015-08-17 23:41:11 · 3915 阅读 · 0 评论 -
oracle创建一个带参数的存储过程:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水
--创建一个带参数的存储过程--为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水/* begin raisesalary(6755); raisesalary(4456); commit();//这里提交,所以说我们一般不会在存储过程或者存储函数中写提交, end; /*/--host cls--先创建表emp和插入数据,显示表的结原创 2015-08-17 23:21:28 · 6324 阅读 · 0 评论 -
oracle学习之第一个存储过程:打印Hello World
数据库对象:表、视图、索引、序列、同义词、存储过程、存储函数存储过程:指的是存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数存储过程和存储函数的相同点:完成特定功能的程序存储过程和存储函数的区别:是否用return语句返回值(存储函数可以,但是存储过程不行)--第一个存储过程:打印Hello World/* 调用存储过程2种方式: 1、ex原创 2015-08-17 17:24:33 · 22259 阅读 · 0 评论 -
SQL Plu计算算数表达式及SQL Plus下清屏快捷键
用PL/SQL数据库语言计算sqrt(58+25*3+(19-9)^2)的值SQL Plus下清屏快捷键是host cls或者 clear screenPL/SQL计算乘方是2个*号:原创 2015-08-14 11:55:37 · 686 阅读 · 0 评论 -
转:oracle数据库里dual表是什么表?
这几天一直在研究oracle,常常会用到dual这个系统表,dual表到底是一个什么表?带着疑问google了一下,现在总结一下:DUAL是Oracle与数据字典一起自动创建的一个表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为转载 2015-08-12 15:51:16 · 676 阅读 · 0 评论 -
转:Oracle数据库的驱动包ojdbc*.jar之间的差别
classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.jar有多个版本你了解吗? 连接类型:1、JDBC OCI: oci是or转载 2015-08-11 12:57:55 · 2814 阅读 · 0 评论 -
java语言测试连接oracle数据库
package com.yihai.jdbc;import java.sql.Connection;import java.sql.DriverManager;/** * 测试连接oracle数据库 * @author wpc * */public class JdbcSuccess { //驱动,URL,用户名,密码 private static final String原创 2015-08-11 10:16:18 · 2839 阅读 · 0 评论 -
oracle易错易混知识点小记
为什么我不能用SYS用户登陆SQL*PLUS,用SYSTEM用户可以登录,答:可以先登陆system用户再切换sys用户切换代码如下:conn sys/“密码” as sysdba在查询时,oracle可以指定列的别名,但是别名不要加引号,否则报错!在oracle数据库中,"||"是连接操作符,它用来连接两个字符串,就像java语言中用来连接两个字符串的加号"+"原创 2015-08-10 17:09:13 · 788 阅读 · 0 评论 -
oracle学习笔记:;连接查询(内连接的等值连接和非等值连接,外链接的左外、右外及全外链接)
连接查询(内连接,外链接,全连接),1、其中内连接分为等值连接和非等值连接,等值连接就是连接条件中使用"="连接2个表,而不等值连接就是指连接条件中使用> >= between ... and... in等。通常这种方式需要和其他等值运算一起使用。内连接中的关键字"INNER JOIN" 可以直接写成"JOIN",系统会把"JOIN"识别成内连接。但是"ON" 关键字不能省略。2、外链接原创 2015-08-10 17:08:22 · 4213 阅读 · 0 评论 -
oracle的字符类型varchar2为什么要加上2呢?
varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上向下兼容,但不保证varchar,这是因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变 ,varchar和varchar2在旧版本里面有些差异,在新版本里面varchar是varchar2的别名,不用关心,但是为了兼容起见,还是建议用varchar2。原创 2015-08-09 15:19:10 · 2418 阅读 · 0 评论 -
转:oracle number(p,s)数据类型
oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型。在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的数值类型。 oraclenumber类型能以极大的精度存储数值,具体来说,精度可达38位。其底层数据格式类似于一种“封包小数”表示,这个在我的上篇文章中已经做了阐述。oraclenumber类转载 2015-08-09 13:14:08 · 1016 阅读 · 0 评论 -
点击登录Oracle企业管理器,提示错误,您的用户名和/或口令无效和如何修改oracle里面的sys和system的密码
本人win7的操作系统,装的shiftoracle 11g,问题就是我安装成功后,单击Database Control-orcl项进入企业管理器,进入https://localhost:1158/em/console/logon/logon这个页面,进行登录,用户名和密码为system/system链接身份为SYSDBA点击登录,提示错误,您的用户名和/或口令无效。这是为什么?原创 2015-08-09 11:10:07 · 7960 阅读 · 1 评论