SQL基础(十)SQL*Plus 命令
SQL*Plus 命令 - describe、variable、execute、spool[@more@]■执行参数 sqlplus.exe cxck/cxck | |_ 密码 |_ 用户名 ■连接命令 connect cxck/cxck@host名; | | |_ 数据库别名 | |_ 密码 |_ 用户名 ■结束命令 exit; ■显示模式表一览 select * from tab; ■显示表结构 describe t订货; |_ 表或者视图 ■执行SQL,执行PL/SQL,编译 start sqlfile; |_ SQL 文本文件(缺省后缀: .sql) @sqlfile; |_ SQL 文本文件(缺省后缀:
SQL基础(九)PL/SQL
PL/SQL declare、begin、DBMS_SQL、dbms_output[@more@]■基本篇set serveroutput on;declarecursor c1 is select * from cxck.t订货where 产品号 = 'a001' order by 订货号;-- rec c1%rowtype;begindbms_output.put_line ('start...');for rec in c1 loopdbms_output.put_line (rec.订货号 || ' ' || rec.产品号);end loop;dbms_output.put_line ('end');exceptionwhen OTHERS thendbms_output.put_line ('** error **');end;/■动态的 SQLdeclaretbl in varchar2 default 'cxck.test';cid integer;begincid := DBMS_SQL.OPEN_CURSOR;DBM
SQL基础(八)自定义函数
自定义函数 create or replace function[@more@]■自定义函数Oracle 可以象VB的function,sub那样创建函数。语法参考PL/SQL的使用手册。■自定义函数例/* 比较两个数值的大小 */create or replace function cxck.numCompare (dt1 in number, dt2 in number) return number isdt number;begindt := dt1 - dt2;dt := sign(dt);return dt;end;//* 使用例1 numCompare() */select cxck.numCompare(10, 20) from dual;/* 使用例2 numCompare() */set serveroutput on;variable rcd number;execute :rcd := numCompare(10, 20);print rcd;
SQL基础(七)数据操作
数据操作 insert,update,where,having,distinct[@more@]基本上Oracle、SQL-Server、MDB可以通用。■追加纪录/* 基础篇 */insert into cxck.t订货 (订货号, 产品号, ...)values ('000001', 'a001', ...);/* 子查询追加 */insert into cxck.t订货1select * from cxck.t订货 where 产品号 = 'a001';■修改纪录/* 基础篇 */update cxck.t订货 set 产品号 = 'a001', 订货数 = 100where 订货号 = '000001';/* 子查询修改 */update cxck.t订货 set产品号 = select 产品号 from ...where 订货号 = '000001';/* 复数列子查询修改 */update cxck
SQL基础(六)创建表
创建表 create table、select、union、rename[@more@]基本上Oracle、SQL-Server、MDB可以通用。■基础篇create table cxck.t订货 (订货号 char (15) primary key,产品号 varchar2(18),订货数 number (9),客户号 char (4),操作员 char (7),更新日期 char (10),更新时间 char (8));■复制创建create table cxck.t订货1 asselect * from cxck.t订货 where 订货号 = '@';create table cxck.t订货1 asselect * from cxck.t订货;create table cxck.t订货1 asselect 订货号, 产品号 from cxck.t订货;** 只复制表结构和数据。** 不复制primary key
SQL基础(五)关键字
关键字 char、varchar2、number、long、raw[@more@]■注释-- 单行注释/* 复数行注释开始*/ 复数行注释结束■数据类型char() 最长2000个字符的固定长字符型varchar2() 最长4000个字符的可变长字符型number() 可指定精度和小数位的数值型long 最长2GB个字符的可变长字符型date 日期型(可以精确到秒)raw(255) 最长255个bytes的2进制型long raw 最长2GB个bytes的2进制型■算术运算符+ 加算- 减算* 乘算/ 除算|| 字符串结合■比较运算符< 小于<= 小于等于> 大于>= 大于等于= 等于<> 不等not 否定is null 空between 范围>=
SQL基础(四)数据查询
数据查询 select、where、group by、order by[@more@]■select查询表或者视图的数据。【例】select * from cxck.t产品where 产品号 = 'a001'查询where 指定的产品号等于a001的所有列的数据。【例】select 产品号, 出库数 from cxck.t产品where 产品号 = 'a001'查询产品号为 a001 的产品号和出库数。【例】select 产品号, 出库数 from cxck.t产品where 产品号 >= 'a001' and 产品号 <= 'a999'order by 产品号查询产品号在a001 ~ a999 之间的产品号和出库数,并按 order by 指定的产品号升序排列。order by 产品号 desc 时,降序排列
SQL基础(三)数据的操作
数据的操作 insert、update、delete、commit、rollback[@more@]■insert追加表或者单一视图的数据。【例】insert into cxck.t产品 (产品号,入库数,出库数,订货数,操作员,更新日期,更新时间) values ('a001',10,20,30,'cxck','19990409','111200')【例】insert into cxck.t产品 values ('a001',10,20,30,'cxck','19990409','111200')如果不指明项目名,就必须按着表定义的列顺序追加数据。■update更新表或者单一视图的数据。【例】update cxck.t产品 set出库数 = 出库数 + 200,操作员 = 'cxck',更新日期 = '19990409',更新时间 = '111600'
SQL基础(二)视图的操作
视图的操作 create view、select、drop view[@more@]■create view【例】create view cxck.v产品1 as select产品号,入库数,出库数,入库数 - 出库数 as 库存数,订货数,操作员,更新日期,更新时间from cxck.t产品 「入库数 - 出库数」是计算公式。「as 库存数」定义了库存数的项目名。view 可以使用where指定检索条件。但是不能使用order by进行排序。【例】create view cxck.v订货1 as select订货号,t订货.产品号 as 产品号,t订货.订货数 as 订货数,v产品1.订货数 as 累计订货,库存数,t订货.客户号 as 客户号,客户名,t订货.操作员 as 操作员
SQL基础(一)表操作
表操作create table、alter table、drop table[@more@]■SQL 命令create table 创建表create view 创建视图alter table 修改表insert 追加数据update 修改数据delete 删除数据commit 提交rollback 回滚select 检索数据drop view 删除视图drop table 删除表■create table【例】create table cxck.t产品 (产品号 varchar2(18) primary key,入库数 number (9, 0),出库数 number (9, 0),订货数 number (9, 0),操作员 char (5),更新日期 char (8),更新时间 char (6))「cxck.」scheme。「primary key」唯一非空。【数据类型】varchar2() 可变长
实战Linux ORACLE 10g RAC
学习如何在 Red Hat Enterprise Linux 3 上将单一实例数据库转换为 Oracle 真正应用程序集群 (RAC) 10g。[@more@]概述 RAC 集群由两台运行 RHEL3(内核 2.4.21-27)的 Intel x86 服务器组成。每个节点都可以访问共享存储器并可以连接到公共网络和专用网络。 本指南分为以下步骤: 准备安装 将数据库移植到 ASM 安装 Oracle 集群就绪服务 (CRS) 软件 安装 Oracle RAC 软件 后续安装 测试透明应用程序故障切换 (TAF) 除非另行指定,否则应在两个节点上执行所有步骤。 以下是在转换到 RAC 之前的单一实例数据库环境的情况介绍:主机名实例名数
统计表空间使用情况
统计表空间可用空间。[@more@]set linesize 121 --------------------------------------------------------------------------------------- -- free.sql -- -- This SQL Plus script lists freespace by tablespace ---------------------------------------------------------------------------------------- column dummy noprint column pct_used format 999.9 heading "%|Used" column name format a19 heading "Tablespace Name" column Kbytes format 999,999,999 heading &
Linux 文件系统精通指南
尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。[@more@]这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件。 遗憾的是,新手通常会混淆介绍 Linux 文件系统概念的术语。术语文件系统 可以在 Linux 文件编制中互换使用,用于指代几个不同但相关的概念。除磁盘分区的具体实例外,文件系统还指代数据结构以及分区中文件的管理方法。 另新手更感困惑的是,该术语还用于指代系统中文件的整体组织形式:目录树。此外,该术语还可以指代目录树中的每个子目录,如在 /
高级Linux 命令精通指南(2)
在本系列的第 1 部分中,您学习了一些有用但并不广为人知的命令,以及各种常用命令的一些人们并不熟知的参数,它们可以帮助您更高效地完成工作。[@more@]继续学习本系列,您将了解到一些对 Oracle 用户(无论是开发人员还是 DBA)很有帮助的更高级的 Linux 命令。 alias 和 unalias 假设您要检查 shell 中设置的 ORACLE_SID 环境变量。您必须键入: echo $ORACLE_HOME 作为 DBA 或开发人员,您需要频繁使用此命令,很快就会对输入这 16 个字符感到厌倦。有没有更简单的方法? 当然有:您可以使用 alias 命令。使用该方法,您可以
高级Linux 命令精通指南(1)
在这个共分 4 个部分的文章系列中,您将学习各种常用命令的一些并不被人们所熟知的使用技巧,以及可以使这些命令更为有用的用法变化形式。[@more@]在学习本文章系列过程中,您将先后了解一些难于掌握的命令。 注意,根据您所使用的 Linux 的特定版本或编译的特定内核,这些命令可能会存在差别,但即便如此,这种差别也很小。 轻松更改所有者、组和权限 在 Sheryl 的文章中,您学习了如何使用 chown 和 chgrp 命令来更改文件的所有权和组。假设有如下几个文件: # ls -l total 8 -rw-r--r-- 1 ananda users 70 A
Linux 文件命令精通指南
为刚接触 Linux 文件命令的初学者提供的速成教程[@more@]这里包含的所有示例都在 SUSE Linux 8.0 Professional 上进行了测试。虽然没有理由相信它们在其它的系统上将不能工作,但如果出现问题,您应当查看您的文档,以了解可能的变化。 背景概念 在深入研究规范之前,让我们回顾一些基础知识。 文件和命令 在 Linux/UNIX 操作系统中,所有事物都被当作文件来处理:硬件设备(包括键盘和终端)、目录、命令本身,当然还有文件。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灵活性的基础。 大多数(几乎是全部)的命令形式如下:
Oracle 10g网络连接导数据
在Oracle 10g中,Data Pump的导入功能能从其他数据库实例中直接导入,并且不会生成交换文件。[@more@]<p>第一步是定义一个数据库链接对象来识别源数据库,并提供登录资格认证。例如,远程的一个源数据库可以通过Oracle网络服务名RSVR进行识别,通过用户:RUSER,密码RPSWD进行登录并有权访问要导入的数据,下面的CREATE DATABASE LINK命令创建数据连接:</p>CREATE DATABASE LINK dblink<br />CONNECT TO ruser IDENTIFIED BY rpswd<br />USING 'RSVR'; <p>Data Pump导入命令——impdp,使用该数据库链接直接
classpath详解
可通过对 JDK 工具使用 -classpath 选项(首选方法)或设置 CLASSPATH 环境变量来设置类路径。 [@more@]C:> jdkTool -classpath path1;path2... C:> set CLASSPATH=path1;path2... 每个 path 以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么: 对于包含 .class 文件的 .zip 或 .jar 文件,路径以 .zip 或 .jar 文件名结尾。 对于未命名包中的 .class 文件,路径以包含 .class 文件的目录结尾。 对于已命名包中的 .class 文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。 用分号来分隔多个