首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

对oracle中间子查询建表,merge操作,创建,修改,删除约束,创建使用触发器的复习练习(一)

2012-07-29 
对oracle当中子查询建表,merge操作,创建,修改,删除约束,创建使用触发器的复习练习(一)/** 对oracle当中子

对oracle当中子查询建表,merge操作,创建,修改,删除约束,创建使用触发器的复习练习(一)

/** 对oracle当中子查询建表,merge操作,创建,修改,删除约束,创建使用触发器的复习练习**//**  本例子的作用是熟悉使用oracle当中的触发器:有两张表  productinfo:产品表,productinfo_info:产品推荐表。其中产品推荐表里面只有部分产品表里面的信息(当然不是所有的产品都推荐),这两张表的字段结构完全一样。要实现:当管理者修改产品表里面的某个纪录的时候,如果该记录在产品推荐表里面也存在(根据productIdid判断),则触发器自动修改产品推荐表里面的这条记录以达到跟产品表里面的记录保持一致的效果。**/--新建了一个产品信息表create table productinfo(productId varchar2(20) unique,productName varchar2(10) not null,productPrice varchar2(10) primary key,productAddress varchar2(10) );--练习使用sql修改约束和字段大小alter table productinfo modify productAddress varchar2(20) not null;--练习使用sql删除,修改,新增表里面的约束alter table productinfo--drop constraint sys_c009964;(删除的是productPrice为主键的约束)--modify productPrice  constraint product_price_not  not null;(给productPrice增加非空的约束)--add constraint productin_address_check check(length(productAddress)>5);(给地址增加check约束)add constraint productinfo_pk  primary key(productId);--增加productid为主键的约束--查看所有的约束名字,约束的状态(是否启用) ,约束的类型,约束是建立在哪个列上面的select c.constraint_name, c.status, c.constraint_type,n.COLUMN_NAMEfrom user_constr  select * from productinfo_bak ;aints c, user_cons_columns nwhere c.CONSTRAINT_NAME = n.CONSTRAINT_NAME and c.TABLE_NAME= 'PRODUCTINFO';

?

热点排行