- 博客(0)
- 资源 (8)
- 收藏
- 关注
Oralce 触发器
--创建触发器
create or replace trigger trigger_customerLink
before
insert on customerLink_table for each row when (new.id is null)
begin
select seq_link_id.nextval into:new.id from dual;
end;
--测试插入
insert into customerLink_table(customer_id,Link_Name,Sex,Job,Phone,Mobile,Memo) values ('KH071202015','tcy',2,'总经理','021-54247920','13622883228','tcy');
2011-12-17
Oracle 数据类型
Oracle的数据类型:
1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库返回错误信息
2、varchar2,用于存储可变长度的字符串,使用该数据类型可节省磁盘空间,但存储效率没有CHAR高
3、NCHAR和nvarchar2,NCHAR和CHAR区别在于NCHAR用来存储Unicode字符集类型,即双字节字符数据,CHAR是一个字节,而NCAHR是一个字符(两个字节),前者是CHAR(1)无法插入‘的’,后者是NCHAR(1)可以插入‘的’
4、NUMBER表示数值数据类型,NUMBER(P,S),P为精度,表示数据的总位数,S为范围,表示小数点右边数字的位数
5、DATE数据类型,使用7个字节固定长度,每个字节分别存储世纪,年,月,日 ,时,分,秒,ORACLE中SYSDATE函数的功能是返回当前的日期和时间
6、TIMESTAMP数据类型,和DATE相似,但是这个类型的秒精确到小数点后6位,而DATE没有秒的小数部分
7、LOB数据类型用于存储大型的,没有被结构化的数据,例如二进制文件,图片文件,LOB主要分为BLOB和CLOB,BLOB数据类型用于存储二进制对象:图像,音频,视频...CLOB数据类型用于存储字符格式的大型对象
8、ORACLE其实也支持INTEGER,FLOAT,DOUBLE,VARCHAR,最好用ORACLE自身的NUMBER 和 VARCHAR2
2011-12-17
Oracle 使用触发器创建自动序列号
--建表
drop table TEST
create table TEST
(
NID varchar2(20) PRIMARY KEY,
test1 varchar2(20)
)
--序列drop sequence SEQ_TEST
create sequence SEQ_TEST
minvalue 1--最小值
nomaxvalue--不设置最大值
increment by 1--每次加1个
start with 1--从1开始计数,nocycle是一直累加,不循环
cache 20
order;
--查序列,小心执行
select seq_customer_id.nextval from SEQ_TEST
--插入数据
insert into test(nid,test1) values(seq_test.nextVal,'test1');
--创建触发器
CREATE OR REPLACE TRIGGER tg_test
BEFORE INSERT ON test FOR EACH ROW WHEN (new.nid is null)
begin
select seq_test.nextval into:new.nid from dual;
end;
--测试 insert条语句将会自动生成自定义主键,即插入其他字段,主键在插入记录前自动生成
insert into test(test1) values('bbb');
select * from test;
2011-12-17
Oracle 存储过程
--创建
create or replace procedure sp_insert_oraObject(
t_name varchar2,
t_age integer,
t_money integer
)
AS
num1 number;
begin
insert into Oraobject values(seq_object.nextval,t_name,t_age,t_money);
end;
--使用
begin
sp_insert_oraObject('林魏',20,400000);
end;
select * from oraObject;
2011-12-17
Oracle 创建用户和给予权限
--创建一个tcy用户,密码是tcy
create user tcy identified by tcy
DEFAULT TABLESPACE TCYTABLESPACE; --为用户确定默认的或临时的表空间
grant connect,resource to tcy; --把connect(这种是临时用户),resource(这种是可以创建视图存储过程...)权限给tcy用户
revoke resource from tcy;--撤消对tcy用户的resource权限
crant select on vote_user to tcy;--允许tcy对vote_user表进行查看
2011-12-17
Oracle 创建数据表
create table tcyTable
(
id number(11,0) primary key,
user_name nvarchar2(50) not null,
user_pwd nvarchar2(50) not null,
);
2011-12-17
Oracle 创建和使用序列
--创建序列
create sequence seq_user
start with 1
increment by 1
nomaxvalue
cache 10;
--使用序列
insert into user_table(user_id,user_name,user_pwd) vlaues(seq_user.nextval,'tcy','tcy');
--修改序列
alert sequence seq_user
increment by 5
maxvalue 100000
nocycle
nocache;
2011-12-17
Oracle 创建表空间
CREATE TABLESPACE tcyTableSpace
DATAFILE 'D:\oracleData\tablespace\tcyTableSpace.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
2011-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人