ORACLE复习(一)
很久没有用到Oracle了,前些日子单位接了一个Oracle数据库的项目,自然需要复习一下,现将复习过程中的一些要点记录下来,以备查阅。
一、 表列数据类型
1、字符
1) VARCHAR2(n),n是必须的,用于存储最长为4000个字符的字符串。但它是可变的,只使用所需要的最少字节。
2) CHAR(n),n是必须的,用于存储固定长度的字符串。如果所插入的值小于CHAR所声明的长度,则右边以空格填充。一般不用该类型
3) NCHAR(n), NVARCHAR2(n),仅用于存储Unicode字符集
2、数字
1) NUMBER, NUMBER(a), NUMBER(a, b)
2) 这种类型用于存储数字,不要使用精确的参数来存储未知范围的值。如Create table temp(amout number),则可以在列amout中存储实际上是任意大小的数字。
3) 参数a代表精度,即占位符的总位数,参数b表示刻度,即小数点右边的位数。如Create table temp(age number(3))表示可以存储任意3位的整数;如果要存储股票价格,其最大值为100万美元(小数点左边有7位),小数点右边有4位,则可以使用Create table temp(price number(11,4))
4) 刻度是可选的,如果没有这个参数,则值将作为整数存储。对于分数,在插入时将被四舍五入为最接近的整数。如果只指定刻度,则可以使用Create table temp(price number(*,4))
3、日期类型
1) DATE,用于存储日期和时间,默认显示格式为DD-MON-YY
2) TIMESTAMP派生于DATE,它可以表示与DATE具有相同精度的时间,并包括秒的小数部分
二、 序列
各种数据库以不同的方式来处理列的自动生成,SQL Server使用一个IDENTITY列,而ORACLE则使用序列。序列是一个对象,该对象存储在数据字典中。序列一直保留状态信息,如当前值,而其上下文是在数据字典中维护的。
1、序列的属性:NEXTVAL,求出接下来的最高值;CURRVAL,最近一次调用NEXTVAL时返回的值。
2、创建序列时,序列数字可以是循环的,或者是在某个最大值那里停下来。与之对应的关键字分别是CYCLE和NOCYCLE。INCREMENT BY 间距(interval)可以使序列
相关文档:
oracle dblink 的应用
url:http://blog.chinaunix.net/u/19820/showart_334013.html
1、用dblink链接oracle
(1)与平台无关的写法:
create public database
link cdt connect to apps
identified by apps using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.205.100)(PORT = 15 ......
官方文档:http://tahiti.oracle.com/
metalink:http://metalink.oracle.com
itpub:www.itpub.com
TOM:asktom.oracle.com
oracle forum:http://forums.oracle.com/forums/main.jspa?categoryID=84
OTN:http://www.oracle.com/technology/index.html
www.oracle.com.cn
www.eygle.com
Oracle ERP
www.erp10 ......
create or replace procedure check_records (ikbid in number,ikch in varchar2 ,ixh in varchar2,ixnd in varchar2,ikkxq in varchar2,info out varchar2,msg out varchar2)
as
v1 number;
v2 number;
v3 number;
begin
select XZRS into v2 from KCB_JW where KCH=ikch;
select count(*) into v3 fro ......
with
lockinfo as (
select distinct decode(sql_hash_value, 0, prev_hash_value, sql_hash_value) sql_hash_value, decode (sql_hash_value, 0, prev_sql_addr, sql_address) sql_address, s.sid, l.id1 object_id, l.block
from v$lock l, v$session s
&n ......
@@servername:返回运行SQL Server数据库本地服务器的名称。
@@remserver:返回登录记录中记载的远程SQL Server服务器的名称。
@@connections:返回自上次启动SQL Server以来连接或试图连接的次数,用其可让管理人员方便地了解今天所有试图连接服务器的次数。
@@cursor_rows:返回最后连接上并打开的游标中当前存在的合格 ......