设为首页 收藏本站
查看: 757|回复: 0

[经验分享] Oracle的常用修改表及字段的语句

[复制链接]

尚未签到

发表于 2017-12-10 21:35:05 | 显示全部楼层 |阅读模式
  单行注释:--
  多行注释:/* */
  Oracle中修改表结构
  增加字段   

  >  ADD column_name data_type;
  删除字段   

  >  DROP COLUMN column_name;
  修改字段类型   

  >
  >  设置主键   

  >  重命名
  RENAME obj_name TO new_obj_name;
  约束视图
  两个数据字典视图提供了约束的详细信息:USER_CONSTRAINTS和USER_CONS_COLUMNS.
  一张表可能有也可能没有约束,对于一张表的每一个约束在USER_CONSTRAINTS中都有一条记录描述这个约束。包括约束应用到的表名称。如果你知道约束名想知道约束类型,查询USER_CONSTRAINTS表。这个视图描述了约束的定义。它不提供约束定义在哪些字段名称上。
  在USER_CONS_COLUMNS视图中显示约束的字段名称。如果主键是个联合主键,这个视图中将有这个约束的两条记录。联合主键的每一个字段对应一条记录。每一条记录通过POSITION(在联合主键中的位置)来区别。 USER_CONSTRAINTS 和USER_CONS_COLUMNS都有字段CONSTRAINT_NAME 和TABLE_NAME.
  ---------------------------------------------------------------------
  USER_CONSTRAINTS                    USER_CONS_COLUMNS
  ---------------------------------------------------------------------
  CONSTRAINT_NAME                     CONSTRAINT_NAME
  CONSTRAINT_TYPE                       TABLE_NAME
  TABLE_NAME                                COLUMN_NAME
  POSITION
  参考信息
  http://blog.sina.com.cn/s/blog_4c22550c010007s3.html
  VARRAY的应用
  一个例子:
  CREATE TYPE phone_type IS VARRAY(20) OF VARCHAR2(20);
  /
  CREATE TABLE employee(

  >  name VARCHAR2(10),
  sal NUMBER(6,2),
  phone phone_type);
  /
  插入示例:
  INSERT INTO employee values(1,'NewName',1000,phone_type('1','2'));
  nestedTable的应用
  一个例子:
  CREATE OR REPLACE TYPE emp_type2 AS OBJECT
  (empno NUMBER(4),
  ename VARCHAR2(10),
  job VARCHAR2(9),
  mgr NUMBER(4),
  hiredate DATE,
  sal NUMBER(7,2),
  comm NUMBER(7,2)
  );
  /
  CREATE OR REPLACE TYPE emp_tab_type AS TABLE OF emp_type2;
  /
  --使用嵌套表
  CREATE TABLE dept_and_emp2
  (deptno NUMBER(2) PRIMARY KEY,
  dname VARCHAR2(14),
  loc VARCHAR2(13),
  emps emp_tab_type
  )NESTED TABLE emps STORE AS emp_nest2;
  插入示例:
  insert into dept_and_emp2 values(1,'NewName','NewLoc',emp_tab_type(emp_type2(1,'newName','newJob',7788,sysdate,1000,100),emp_type2(......)));
  这两种集合的插入方式是一样的。
  IS EMPTY 操作符只适用于嵌套表,而不适用于VARRAY,用于判断集合里的元素是否为空,如果判断是否初始化(是否为null)应该用 IS NULL。
  转载来源:http://blog.csdn.net/aqszhuaihuai/article/details/4065482

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422794-1-1.html 上篇帖子: Oracle数据库的HQL语句操作语法 下篇帖子: L蓝天碧水L
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表