肥宅兜

导航

2016年8月24日 #

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

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

posted @ 2016-08-24 20:22 肥宅兜 阅读(20737) 评论(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 肥宅兜 阅读(217) 评论(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 肥宅兜 阅读(1459) 评论(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 肥宅兜 阅读(1486) 评论(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 肥宅兜 阅读(227) 评论(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 肥宅兜 阅读(881) 评论(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 肥宅兜 阅读(282) 评论(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 肥宅兜 阅读(308) 评论(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 肥宅兜 阅读(535) 评论(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 肥宅兜 阅读(236) 评论(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 肥宅兜 阅读(6142) 评论(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 肥宅兜 阅读(228) 评论(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 肥宅兜 阅读(338) 评论(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 肥宅兜 阅读(376) 评论(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 肥宅兜 阅读(502) 评论(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 肥宅兜 阅读(373) 评论(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 肥宅兜 阅读(1139) 评论(0) 推荐(0) 编辑

谈数据库的性能优化

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

posted @ 2016-08-24 14:18 肥宅兜 阅读(364) 评论(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 肥宅兜 阅读(4888) 评论(0) 推荐(0) 编辑

oracle中的数据类型

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

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