肥宅兜

导航

2016年8月24日 #

在开发过程中为什么需要写存储过程

摘要: 转载自http://www.cnblogs.com/blogofwyl/p/5329902.html 本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用。而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php、java等就是调用存储过程"。 业务逻辑,通俗说就 阅读全文

posted @ 2016-08-24 20:22 肥宅兜 阅读(20867) 评论(9) 推荐(9)

面向对象编程

摘要: 范例:定义类规范 CREATE OR REPLACE TYPE emp_object AS OBJECT ( -- 定义对象属性,与emp表对应 atri_empno NUMBER(4) , -- 雇员编号 atri_sal NUMBER(7,2) , -- 雇员工资 atri_deptno NUM 阅读全文

posted @ 2016-08-24 19:53 肥宅兜 阅读(228) 评论(0) 推荐(0)

动态SQL

摘要: 范例:利用动态SQL在执行时创建一张数据表 CREATE OR REPLACE FUNCTION get_table_count_fun(p_table_name VARCHAR2) RETURN NUMBER AS v_sql_statement VARCHAR2(200) ; -- 定义操作的S 阅读全文

posted @ 2016-08-24 19:52 肥宅兜 阅读(1469) 评论(0) 推荐(0)

触发器

摘要: 范例: 只有在每个月的10日才允许办理新雇员入职与离职,其他时间不允许增加新雇员数据 CREATE OR REPLACE TRIGGER forbid_emp_trigger BEFORE INSERT OR DELETE ON emp DECLARE v_currentdate VARCHAR(2 阅读全文

posted @ 2016-08-24 19:51 肥宅兜 阅读(1545) 评论(0) 推荐(1)

摘要: 范例:定义包规范 CREATE OR REPLACE PACKAGE mldn_pkg AS FUNCTION get_emp_fun(p_dno dept.deptno%TYPE) RETURN SYS_REFCURSOR ; -- 返回弱游标类型 END ; / 范例:定义包规范 CREATE 阅读全文

posted @ 2016-08-24 19:44 肥宅兜 阅读(235) 评论(0) 推荐(0)

子程序

摘要: 范例:定义一个简单的过程 CREATE OR REPLACE PROCEDURE mldn_proc AS BEGIN DBMS_OUTPUT.put_line('www.mldnjava.cn') ; END; / 范例:定义过程,根据雇员编号找到雇员姓名及工资 CREATE OR REPLACE 阅读全文

posted @ 2016-08-24 19:43 肥宅兜 阅读(910) 评论(0) 推荐(0)

游标

摘要: 范例:验证ROWCOUNT DECLARE v_count NUMBER ; BEGIN SELECT COUNT(*) INTO v_count FROM dept ; -- 只返回一行结果 DBMS_OUTPUT.put_line('SQL%ROWCOUNT = '|| SQL%ROWCOUNT 阅读全文

posted @ 2016-08-24 18:04 肥宅兜 阅读(289) 评论(0) 推荐(0)

集合

摘要: 范例:定义过程,输出一个雇员的完整信息 DECLARE v_emp_empnoemp.empno%TYPE ; v_emp_enameemp.ename%TYPE ; v_emp_jobemp.job%TYPE ; v_emp_hiredateemp.hiredate%TYPE ; v_emp_sa 阅读全文

posted @ 2016-08-24 17:57 肥宅兜 阅读(321) 评论(0) 推荐(0)

用户权限及角色管理

摘要: 范例:创建一个新的用户:c##mldnuser,密码为:java_android CREATE USER c##mldnuser IDENTIFIED BY java_android DEFAULT TABLESPACE mldn_data TEMPORARY TABLESPACE mldn_tem 阅读全文

posted @ 2016-08-24 17:53 肥宅兜 阅读(552) 评论(0) 推荐(0)

数据库设计

摘要: 范例:数据库创建脚本 -- 删除数据表 DROP TABLE member PURGE ; -- 创建数据表 CREATE TABLE member ( mid NUMBER , name VARCHAR2(50) NOT NULL , address VARCHAR2(200) , zipcode 阅读全文

posted @ 2016-08-24 17:53 肥宅兜 阅读(262) 评论(0) 推荐(0)

PL/SQL编程基础

摘要: 范例:编写不做任何工作的PL/SQL块 BEGIN NULL ; END ; / 范例:编写一个简单的PL/SQL程序 DECLARE v_num NUMBER ; -- 定义一个变量v_num BEGIN v_num := 30 ; -- 设置v_num的内容 DBMS_OUTPUT.put_li 阅读全文

posted @ 2016-08-24 17:53 肥宅兜 阅读(6226) 评论(1) 推荐(1)

其它数据库对象

摘要: 范例:创建一张基本工资大于2000的雇员信息的视图 CREATE VIEW v_myview AS SELECT * FROM emp WHERE sal>2000 ; 范例:查看视图是否已经创建 SELECT * FROM tab WHERE tabtype='VIEW' ; 范例:查询v_myv 阅读全文

posted @ 2016-08-24 17:52 肥宅兜 阅读(241) 评论(0) 推荐(0)

完整性约束

摘要: 范例1:定义member表,其中姓名不允许为空 DROP TABLE member PURGE ; CREATE TABLE member( mid NUMBER , name VARCHAR2(200) NOT NULL ) ; 范例2:向member表中增加正确的数据 INSERT INTO m 阅读全文

posted @ 2016-08-24 17:26 肥宅兜 阅读(362) 评论(0) 推荐(0)

表的创建与管理

摘要: 范例1:创建一张可以保存所有成员信息的表 —— member表 CREATE TABLE member ( mid NUMBER(5) , name VARCHAR2(50) DEFAULT '无名氏' , age NUMBER(3) , birthday DATE DEFAULT SYSDATE 阅读全文

posted @ 2016-08-24 17:24 肥宅兜 阅读(395) 评论(0) 推荐(0)

替代变量

摘要: 范例1:验证替代变量的使用 SELECT ename,job,sal,hiredate FROM emp WHERE sal>&inputsal ; 范例2:查询一个雇员编号、姓名、职位、雇佣日期、基本工资,查询的雇员姓名由用户输入 SELECT empno,ename,job,hiredate,s 阅读全文

posted @ 2016-08-24 17:21 肥宅兜 阅读(523) 评论(0) 推荐(0)

更新及事务处理

摘要: 范例1:复制emp表 —— 新的表名称为myemp CREATE TABLE myemp AS SELECT * FROM emp ; 范例2:查看c##scott用户的全部表 SELECT * FROM tab ; 范例3:查询myemp表中是否存在数据 SELECT * FROM myemp ; 阅读全文

posted @ 2016-08-24 17:00 肥宅兜 阅读(384) 评论(0) 推荐(0)

子查询

摘要: 范例1:查询公司之中工资最低的雇员的完整信息 SELECT MIN(sal) FROM emp ; SELECT * FROM emp WHERE sal=( SELECT MIN(sal) FROM emp) ; 范例2:子查询返回的结果就当它是一个数字,即,直接判断此数字 SELECT * FR 阅读全文

posted @ 2016-08-24 15:00 肥宅兜 阅读(1374) 评论(0) 推荐(0)

谈数据库的性能优化

摘要: 1:前言 数据库优化是一个很广的范围,涉及到的东西比较多,并且每个特定的数据库,其具体的优化过程也是不一样的.因为优化的很大一部分最终都要跟具体的数据库系 统细节打交道,在此不可能针对所有的数据库都一一详细阐述,如果那样,恐怕写几本书都写不完.只能针对一些比较通用的,经常用到的的东西进行一个讨论,一 阅读全文

posted @ 2016-08-24 14:18 肥宅兜 阅读(389) 评论(0) 推荐(0)

oracle中清空表数据的两种方法

摘要: 1、delete from t 2 、truncate table t 区别: 1、delete是dml操作;truncate是ddl操作,ddl隐式提交不能回滚 2、delete from t可以回滚,truncate table t 不可以回滚 3、 truncate table t 执行效率更 阅读全文

posted @ 2016-08-24 14:15 肥宅兜 阅读(4923) 评论(0) 推荐(0)

oracle中的数据类型

摘要: VARCHAR2(size) 可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size; NVARCHAR2(size) 可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字 阅读全文

posted @ 2016-08-24 14:14 肥宅兜 阅读(255) 评论(0) 推荐(0)

oracle中的函数

摘要: ORACLE中函数 Oracle已经内建了许多函数,不同的函数有不同的作用和用法,有的函数只能作用在一个记录行上,有的能够作用在多个记录行上,不同的函数可能处理不同的数据类型。常见的有两类,单行函数和分组函数 。 单行函数: 单行函数 分类 函数 功能 示例 字符函数 LPAD(<c1>,<i>[, 阅读全文

posted @ 2016-08-24 14:13 肥宅兜 阅读(214) 评论(0) 推荐(0)

oracle中dual表的使用

摘要: dual表是一个虚拟表,用来和select语句一起使用。1、查看当前用户select user from dual2、用来调用系统函数select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual 得到当前系统时间 select SYS_CONTE 阅读全文

posted @ 2016-08-24 14:13 肥宅兜 阅读(3985) 评论(0) 推荐(0)

where 子句和having子句中的区别

摘要: 筛选结果如下:DEPTNO SUM(SAL) 30 9400 20 10875 10 8750可以看出我们想要的结果了。不过现在我们如果想要部门工资总和大于10000的呢?那么想到了对分组统计结果进行筛选的having来帮我们完成。第二步: 筛选结果如下:DEPTNO SUM(SAL) 20 108 阅读全文

posted @ 2016-08-24 14:12 肥宅兜 阅读(14567) 评论(0) 推荐(1)

分组统计查询

摘要: 分组统计查询 范例1:查找出公司每个月支出的月工资的总和 SELECT SUM(sal) FROM emp ; 范例2:查询出公司的最高工资、最低工资、平均工资 SELECT AVG(sal), ROUND(AVG(sal),2), MAX(sal), MIN(sal) FROM emp ; 范例3 阅读全文

posted @ 2016-08-24 14:07 肥宅兜 阅读(909) 评论(0) 推荐(0)

Left Join 与Right Join 与 Inner Join 与 Full Join的区别

摘要: 首先看看Left Join 与Right Join 与 Inner Join 与 Full Join对表进行操作后得到的结果。 在数据库中新建两张表,并插入要测试的数据。 新建表: USE [Test] GO /****** 对象: Table [dbo].[EMP] 脚本日期: 06/22/201 阅读全文

posted @ 2016-08-24 13:51 肥宅兜 阅读(500) 评论(0) 推荐(0)