Oracle
文章平均质量分 77
shangboerds
淡薄以明志,宁静而致远
展开
-
PL/SQL 语句块(Block)
-- Start下面是一个语句块的例子。> -- 我们可以给语句块起个名字DECLARE -- 声明部分 VAR1 INT := 1; VAR2 INT; BEGIN -- 可执行部分 VAR2 := VAR1 / 0; EXCEPTION -- 异常处理部分 WHEN ZERO_DIVIDE THEN VAR2 := NULL;END;/原创 2015-01-21 23:11:57 · 4175 阅读 · 0 评论 -
PL/SQL 集合 -- 可变数组
-- Start可变数组是容量可以变化的数组,但不能超过最大容量。和其他语言不同,可变数组的索引从 1 开始。DECLARE -- 定义一个可变数组类型 GRADE,它的最大容量是10,元素类型是 VARCHAR2 TYPE GRADE IS VARRAY(10) OF VARCHAR2(15); -- 定义一个类型为 GRADE 的可变数组变量 MATH_GRA原创 2015-01-03 20:49:51 · 1926 阅读 · 0 评论 -
PL/SQL 集合 -- 关联数组
-- Start关联数组(Associative Array)其实就是一个 MAP,键的类型可以是 VARCHAR2, VARCHAR, STRING, LONG 或 PLS_INTEGER。DECLARE-- 定义一个关联数组类型 MY_MAPTYPE MY_MAP IS TABLE OF STRING(10) INDEX BY PLS_INTEGER;-- 定义一个类型为原创 2015-01-03 17:51:33 · 2501 阅读 · 0 评论 -
PL/SQL 集合 -- 嵌套表
-- Start嵌套表(Nested Tables) 其实就是一个没有最大容量的数组。DECLARE -- 定义一个嵌套表类型 GRADE,元素类型是 VARCHAR2 TYPE GRADE IS TABLE OF VARCHAR2(15);-- 定义一个类型为 GRADE 的嵌套表变量 MATH_GRADE GRADE := GRADE('优秀', '良好', '原创 2015-01-04 09:08:58 · 3341 阅读 · 0 评论 -
PL/SQL 隐式游标
-- Start当我们执行一个增,查,删,改语句的时候,PL/SQL 会自动打开一个游标,我们不能对这个游标进行任何操作,但我们可以从游标的属性中得到一些有用的信息。CREATE TABLE Student( Id INT NOT NULL, Name VARCHAR2(30) NOT NULL, Class V原创 2015-01-11 21:00:27 · 749 阅读 · 0 评论 -
循环语句
-- StartBasic LOOP--更多参见:Oracle PL/SQL 精萃-- 声明:转载请注明出处-- Last Edited on 2015-01-02-- Created by ShangBo on 2015-01-02-- End原创 2015-01-02 20:49:28 · 826 阅读 · 0 评论 -
PL/SQL 显式游标
-- Start显式游标又叫命名游标,就是通常我们说的游标。CREATE TABLE Student( Id INT NOT NULL, Name VARCHAR2(30) NOT NULL, Class VARCHAR2(10));INSERT INTO Student VALUES (1, '张三', '原创 2015-01-11 22:22:58 · 765 阅读 · 0 评论 -
PL/SQL 游标表达式
-- Start利用游标表达式,我们可以返回嵌套游标。CREATE TABLE Class ( ClassName VARCHAR2(10));INSERT INTO Class VALUES ('116班');CREATE TABLE Student( Id INT NOT NULL, Name原创 2015-01-14 21:41:31 · 844 阅读 · 0 评论 -
PL/SQL 游标变量
-- Start游标变量非常有用,游标变量可以在不同的存储过程中传递,也可以返回给客户端。CREATE TABLE Student( Id INT NOT NULL, Name VARCHAR2(30) NOT NULL, Class VARCHAR2(10) ); INSERT INTO Stu原创 2015-01-13 21:53:04 · 868 阅读 · 0 评论 -
安装 Oracle SQL Develope
-- StartSQL Developer 是一个图形化的管理工具,无论你是开发人员还是 DBA 它是我们必备的工具之一。下载 SQL Developer登录 Oracle 官方网站下载 SQL Developer。如果你的电脑已经安装了 Java,那么你可以下载 no-jre 版。否则你需要下载 jre 版。安装SQL Developer 是不需要安装的,启动原创 2015-02-06 21:30:55 · 2440 阅读 · 0 评论 -
Oracle Web 管理工具
-- Start安装数据库后,在桌面或开始菜单中,我们可以发现一个叫做“入门”的菜单,点击它进入一个 Web 管理工具,在这里我们可以做一些简单的管理工作。除此之外,还有一个叫做 Application Express 的标签,它是一个快速的 WEB 应用程序开发工具。-- 更多参见:Oracle 精萃-- 声明:转载请注明出处-- Last edited原创 2015-02-06 21:18:10 · 3119 阅读 · 1 评论 -
安装 Oracle Database Express Edition
-- Start下载登录 Oracle 官方网站下载最新版的 Oracle Database Express Edition,目前最新版是 11g Release 2,它有下面 3 个版本,根据你的平台下载相应的版本。Oracle Database Express Edition 11g Release 2 for Windows x64Oracle Database原创 2015-02-06 20:42:32 · 3125 阅读 · 0 评论 -
PL/SQL 数据类型和变量 -- ROWID
-- StartPL/SQL 支持 SQL ROWID 和 UROWID 数据类型。CREATE TABLE TEST( NAME VARCHAR(10));INSERT INTO TEST VALUES ('TEST');DECLARE ROWID_TEST ROWID; ROWID_CHAR VARCHAR(20); UROWID_TEST原创 2015-01-01 10:03:09 · 1816 阅读 · 0 评论 -
PL/SQL 数据类型和变量 -- BOOLEAN
-- StartPL/SQL 还支持布尔(BOOLEAN)数据类型。DECLARE ISTEST BOOLEAN;BEGIN IF (ISTEST IS NULL) THEN DBMS_OUTPUT.PUT_LINE('UNKNOW'); END IF; ISTEST := TRUE; IF (ISTEST) THEN DBMS_OUTPUT.P原创 2015-01-01 10:30:55 · 1773 阅读 · 0 评论 -
Oracle 内置数据类型 -- LONG 和 RAW
-- Start-- 待续--更多参见:Oracle SQL 精萃-- 声明:转载请注明出处-- Last edited on 2015-01-01-- Created by ShangBo on 2015-01-01-- End原创 2015-01-01 14:45:40 · 4271 阅读 · 1 评论 -
Oracle 内置数据类型 -- 大对象
-- Start-- 待续--更多参见:Oracle SQL 精萃-- 声明:转载请注明出处-- Last edited on 2015-01-01-- Created by ShangBo on 2015-01-01-- End原创 2015-01-01 14:44:21 · 1247 阅读 · 0 评论 -
安装 Oracle 即时客户端
-- StartOracle 即时客户端主要用来连接数据库,包括通过 JDBC,ODBC,OCI,SQL*Plus 等。如果你要通过 Java 来连接数据库,那么你需要它里面的 ojdbc7.jar。如果你本机没有安装数据库,你也可以通过 SQL*Plus 连接到远程数据库。下载登录 Oracle 官方网站下载 Oracle Instant Client,值得注意的是它有好多程原创 2015-02-07 16:43:45 · 1845 阅读 · 0 评论 -
Oracle sqlplus
-- StartSQL sqlplus 是一个命令行的管理工具,无论你是开发人员还是 DBA 它是我们必备的工具之一。如果你本机安装了 Oracle 数据库,那么你可以在开始菜单或它的安装目录中找到 sqlplus.exe。如果你的 Oracle 数据库都在服务器上,那么你需要下载 Oracle 即时客户端或客户端,它里面包含了 sqlplus。下面是使用 sqlplus 的简单例子。原创 2015-02-08 09:26:58 · 1104 阅读 · 0 评论 -
创建 Oracle 用户
-- Start在创建自己的表之前,我们必须先创建一个 Oracle 用户,该用户名同时也是模式名。使用 SQL Developer 创建用户1. 使用 SYSTEM 登录 Oracle2. 右键“其他用户”选择“创建用户”3. 输入用户名,密码,选择权限就 OK了。使用 sqlplus 创建用户sqlplus system/shangbo -- 连原创 2015-02-08 20:43:22 · 822 阅读 · 0 评论 -
PL/SQL 数据类型和变量 -- 大对象
-- StartBLOBDECLARE -- BINARY LARGE OBJECT 是 BLOB 的子类型 TEST1 BLOB := EMPTY_BLOB(); TEST2 BINARY LARGE OBJECT := EMPTY_BLOB();BEGIN DBMS_OUTPUT.PUT_LINE('TEST1=');END;/BFILE原创 2015-01-01 17:40:10 · 755 阅读 · 0 评论 -
PL/SQL 数据类型和变量 -- 数值
-- StartPL/SQL 支持 SQL 的数值数据类型,除此之外,它还定义了自己的子类型。有关 SQL 数值数据类型,参见此处。DECLARE -- 声明变量并赋值 TEST1 NUMBER := 12.5; -- SIMPLE_FLOAT 是 BINARY_FLOAT 的子类型, 它不允许 NULL 值 -- Oracle 推荐我们使原创 2014-12-21 23:45:41 · 3318 阅读 · 0 评论 -
条件控制语句
-- StartIF THENIF THEN ELSEIF THEN ELSIFSimple CASESearched CASE--更多参见:Oracle PL/SQL 精萃-- 声明:转载请注明出处-- Last Edited on 2015-01-01-- Created by ShangBo on 2015-01-01原创 2015-01-01 22:11:06 · 785 阅读 · 0 评论 -
安装 Oracle 客户端
-- StartOracle 客户端提供了好多工具用来管理和访问数据库。下载登录 Oracle 官方网站,在数据库下载页面下载它的客户端。winnt_12102_client32.zip 安装安装的时候选择自定义安装,安装它提供的所有的组件。-- 更多参见:Oracle 精萃-- 声明:转载请注明出处-原创 2015-02-07 17:46:09 · 1192 阅读 · 1 评论 -
Oracle 内置数据类型 -- ROWID
-- Start在数据库中,每一行都有一个地址,我们可以查询伪列 ROWID 来得到这个值。CREATE TABLE TEST( NAME VARCHAR(10));INSERT INTO TEST VALUES ('TEST');SELECT ROWID, NAME FROM TEST;-- 结果ROWID NAMEAAAFCoAAEAA原创 2014-12-31 22:49:58 · 4066 阅读 · 0 评论 -
PL/SQL 数据类型和变量 -- 字符
-- StartPL/SQL 支持 SQL 的字符数据类型,除此之外,它还定义了自己的子类型。有关 SQL 字符数据类型,参见此处。DECLARE -- 声明变量并赋值 -- CHARACTER 是 CHAR 的子类型 TEST1 CHAR(10) := 'test1'; TEST2 CHARACTER(10) := Q'(test2)';原创 2014-12-21 23:34:05 · 1340 阅读 · 0 评论 -
Oracle SQL*Loader
-- StartSQL*Loader 是 Oracle 提供的一个工具用来将文件中的数据导入到一个或多个表中。你可以在 Oracle 的安装目录中找到它 C:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlldr.exe目前,我们最常用的用来传输数据的文件格式有 2 种,一种是分隔符文件(如:CSV),另一种是定长文件,下面我们通过例原创 2015-02-20 15:56:53 · 4359 阅读 · 0 评论 -
PL/SQL 输入输出
-- Start下面这几个包提供了一些输入输出的方法。包 描述DBMS_OUTPUT 输出消息HTF 包含生成 HTML 超文本的方法HTP 包含生成 HTML 超文本的存储过程DBMS_PIPE 可以使数据在多个数据库连接之间交互UTL_FILE 包含读写文件的方法UTL_原创 2015-01-22 22:47:48 · 2443 阅读 · 0 评论 -
Oracle BETWEEN 条件
-- Start好多人搞不清楚 BETWEEN 条件到底包不包含临界值,呵呵,今天我负责任的告诉你,下面的语句是等价的.x BETWEEN 1 AND 10x >=1 AND x--更多参见:Oracle SQL 精萃-- 声明:转载请注明出处-- Last edited on 2015-02-25-- Created by S原创 2015-02-26 18:53:04 · 5611 阅读 · 0 评论 -
Oracle SQL中的 IF ELSE
-- Start大家对 IF ELSE 语句可能都很熟悉,它是用来对过程进行控制的。在 SQL 的世界中 CASE 语句有类似的效果。下面简单的介绍 CASE 语句的用法。考虑下面的情况,假设有个 USER_INFO 表,定义如下:CREATE TABLE USER_INFO( NAME VARCHAR2(20) NOT NULL, ---姓名 GENDE原创 2014-12-17 22:32:56 · 60007 阅读 · 2 评论 -
Oracle 分析函数Merge 案例
-- Start假设现在有下面这个表用来存放股票的价格,我们需要保存一个月的历史记录。CREATE TABLE price_history( security_id NUMBER(10, 0), price NUMBER(10, 4), price_date DATE, rank NUMBER(2, 0)原创 2015-02-14 21:31:04 · 1131 阅读 · 0 评论 -
PL/SQL 集合 -- 多维数组
-- Start可变数组之多维数组。DECLARE -- 定义一个可变数组类型 TYPE_TEST1,它的最大容量是2,元素类型是 INT TYPE TYPE_TEST1 IS VARRAY(2) OF INT; -- 定义一个可变数组类型 TYPE_TEST2,它的最大容量是5,元素类型是 TYPE_TEST1 TYPE TYPE_TEST2 IS VARRAY(5原创 2015-01-05 21:23:34 · 2636 阅读 · 0 评论 -
PL/SQL 常量
-- StartDECLARE -- 声明常量 TEST1 CONSTANT CHAR(10) := 'test1'; TEST2 CONSTANT VARCHAR2(10) := Q'(test2)'; TEST3 CONSTANT INTEGER := 365; BEGIN NULL;END;/--更多参见:Oracle PL/SQL 精萃--原创 2015-01-24 20:36:37 · 2736 阅读 · 0 评论 -
PL/SQL %TYPE 属性
-- StartCREATE TABLE TEST( TEST_COL CHAR(10));DECLARE TEST1 CHAR(10); -- 申明 TEST2 变量,类型和 TEST 表的 TEST_COL 相同 TEST2 TEST.TEST_COL%TYPE; -- 申明 TEST3 变量,类型和变量 TEST1 相同 TEST3 TEST1%原创 2015-01-24 21:03:22 · 1721 阅读 · 0 评论 -
Oracle merge 语句
-- Start假设我从别的系统收到了一个很大的文件,我把文件导入到了下面的表中。CREATE TABLE price_work( id NUMBER(10, 0), price_source VARCHAR(10), price NUMBER(30, 6)); 现在要求你把 price_w原创 2015-02-12 22:29:04 · 1871 阅读 · 0 评论 -
Oracle 聚合字符串
-- Start-- 待续--更多参见:Oracle SQL 精萃-- 声明:转载请注明出处-- Last edited on 2015-02-25-- Created by ShangBo on 2015-02-25-- End原创 2015-02-25 20:50:30 · 1433 阅读 · 0 评论 -
PL/SQL 运算符(Operator)
-- Start赋值运算符(Assignment Operator)DECLARE X INT := 1; -- 赋值运算符 := BEGIN DBMS_OUTPUT.put_line(X);END;/算术运算符(Arithmetic Operator)DECLARE X INT := 2; Y INT := 3; Z INT; BEGI原创 2015-01-25 10:12:54 · 2309 阅读 · 0 评论 -
PL/SQL 记录(Record)
-- Start所谓记录指的是表的一行。DECLARE -- 定义记录类型 TYPE Student IS RECORD ( Id INT NOT NULL := 1, Name VARCHAR2(30) NOT NULL := '张三', Class VARCHAR2(10) ); -- 定义原创 2015-01-09 22:13:41 · 3926 阅读 · 0 评论 -
Oracle SOME,ANY,All,EXISTS,IN
-- Start这几个关键字有一个共同点,那就是它们一般应用于子查询中。大家对 IN 和 EXISTS 都比较熟悉,这里我就不介绍了,下面我们看一看如何使用其他几个关键字,首先,我们定义如下表:--学生CREATE TABLE STUDENT ( ID VARCHAR2(8), ---学号NAME VARCHAR2(20), ---姓名CLA原创 2015-02-28 12:54:45 · 3866 阅读 · 1 评论 -
Oracle GROUPING SETS
-- Start大家对GROUP BY应该比较熟悉吧。还记得当初学习SQL的时候,总是理解不了GROUP BY的作用,经过好长时间才终于明白GROUP BY的真谛。当然,这和我本人笨也有关系,呵呵。下面我们先看一个例子。CREATE TABLE employee( name NVARCHAR2(10), gender NCHAR(1), c原创 2015-02-28 18:34:51 · 5010 阅读 · 0 评论 -
PL/SQL 标识符(Identifier)
-- Start标识符指的是常量名,变量名,游标名,函数名等。--/DECLARE -- 标识符以字母开始,可以包含字母,数字,$,#和_I0_#$ NUMBER := 1;-- 标识符不区分大小写NAME VARCHAR2(15) := 'ShangBo';-- 标识符不能超过30个字符S0123456789012345678901234567E NUMBER :原创 2014-12-04 13:08:44 · 3328 阅读 · 0 评论