Oracle简单脚本演示样例「建议收藏」

Oracle简单脚本演示样例

大家好,又见面了,我是全栈君。

 Oracle简单脚本演示样例

1.添加表

改动日期:2014.09.21

改动人:易小群

改动内容:新增採购支付情况表

DECLARE

  VC_STR           VARCHAR2(5000);

  VN_COUNT         NUMBER;

BEGIN

  查看现有系统是否有BT_PRODUCT_MODEL

  SELECTCOUNT(*)

    INTO VN_COUNT

    FROM USER_TABLES

   WHERE TABLE_NAME =‘BT_BUY_PAY’;

  假设没有则新增表,假设有就不处理

  IF VN_COUNT < 1 THEN

    VC_STR := ‘  create table BT_BUY_PAY

(

  id  NUMBER not null,

  buynumber     VARCHAR2(30),

  money     NUMBER(15,2),

  recevietime     DATE,

  recordtime    DATE,

  currency VARCHAR2(30),

  foreigncurrency  NUMBER(15,2),

  constraint PK_BT_BUY_PAY_ID primary key (id)

)’;

    EXECUTE IMMEDIATE VC_STR;

  END IF;

END;

2.添加字段

改动人:易小群

改动时间:2014-9-18

改动内容:採购合同表添加合同所属字段(本部和集团)

DECLARE

  VN_COUNT     NUMBER;

  VC_STR        VARCHAR2(1000);

BEGIN

  查看该表中该字段是否存在

  SELECTCOUNT(*)

    INTO VN_COUNT

    FROM USER_TAB_COLUMNS

   WHERE TABLE_NAME =‘BT_BUY_RECORD’AND COLUMN_NAME =‘CONTRACTBELONG’;

  IF VN_COUNT < 1 THEN

    VC_STR := ‘ ALTER TABLE BT_BUY_RECORD ADD CONTRACTBELONG VARCHAR2(30)’;

    EXECUTE IMMEDIATE VC_STR;

  END IF;

END;

3.创建视图

createorreplaceview v_bt_buy_fprecord_ceas

selectdistinct b.corp_code,

       c.corp_name,单位名称

       d.buynumber,採购合同号

       b.buyname,採购合同名称

       d.sale_no,销售合同号

       d.product_id,产品id

       d.product_name,产品名称

       d.money,明细金额

       b.htprice,合同金额

       d.out_money,已付金额

       vf.ymoney,已开发票金额

       b.status

  from bt_buy_record b

  leftjoin bt_corp c

    on b.corp_code = c.corp_code

  leftjoin bt_buy_detail d

    on b.buynumber = d.buynumber

  leftjoin (select f.detail_id, sum(f.money)as ymoney

               from bt_buy_fprecord f

              groupby f.detail_id) vf

    on d.id = vf.detail_id

  orderby b.corp_code  ;

4.改动表的字段同意为空

改动人:易小群

改动时间:2014911

改动内容:改动表BT_BUY_FPRECORD字段PRODUCE_NAME同意为空

改动原因:採购合同导入时报PRODUCE_NAMENULL不能插入

DECLARE

  VN_NULLABLE VARCHAR2(1);

BEGIN

  SELECT nullable

    INTO VN_NULLABLE

    FROM user_tab_columns

   WHERE table_name =‘BT_BUY_FPRECORD’

     AND column_name =‘PRODUCE_NAME’;

  假设不同意为空

  IF VN_NULLABLE = ‘N’THEN

    更改为同意为空

    EXECUTE IMMEDIATE‘ ALTER TABLE BT_BUY_FPRECORD MODIFY PRODUCE_NAME VARCHAR2(200) NULL ‘;

  END IF;

  COMMIT;

END;

5.改动字段长度

改动人:易小群

改动时间:201493

改动内容:改动表BT_BUY_DETAIL字段PRODUCT_NAME的长度

改动原因:导入时报其字段的长度不够 

altertable BT_BUY_DETAIL modify(PRODUCT_NAME varchar2(500));

改动产品名称字段,发票表导入报其字段的长度不够

altertable BT_BUY_FPRECORD modify(PRODUCT_NAME  varchar2(500));

commit;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115360.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS基础知识

    CSS基础知识

    2021年10月7日
    35
  • 网站错误代码400_网页400错误什么意思

    网站错误代码400_网页400错误什么意思昨天S姐的同事上网冲浪,被提示:404notfound看着她充满求知欲的卡姿兰大眼睛,S姐决定本期讲讲上网冲浪时,你可能遇到的错误代码解析!No.1404无法找到文件404是大家上网冲浪时最常见的错误代码,一般出现的原因可能是:①页面被删除或不存在②网址输入有误③没插网线或没有联网做为生活中最常见的404,除了本身找不到查询页面的含义,还延伸出很多额外的意义。比如:好看的皮囊千篇一律,有趣…

    2022年9月29日
    4
  • 原型和原型链理解_原型对象和原型链

    原型和原型链理解_原型对象和原型链一、原型①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象③所有引用类型的__proto__属性指向它构造函数的prototypevara=[1,2,3];a.__proto__===Array.prototype;//true二、原型链…

    2025年7月26日
    9
  • java程序日志管理

    java程序日志管理初入软件开发这一行的人,可能对日志管理的概念并不是很明确,大概是由于经验所限,以至于根本还考虑不到这个问题。而从某种意义上来说,日志管理实际上也不需要初入这一行的人来管,他们只需要负责实现自己的主要业务逻辑和功能就好了。我当初刚入行的时候就有很长一段时间完全不用去关心日志,到后来偶尔涉及到的时候,也都是从其他地方采用cv大法直接搬用。不过,随着工作时间的变化,随着手头上任务重要程度的变化

    2022年6月10日
    28
  • 五分钟,带你彻底掌握 MyBatis缓存 工作原理

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:双子孤狼 blog.csdn.net/zwx900102/article/details/108696005 …

    2021年6月27日
    75
  • SchedulerFactoryBean 注入

    SchedulerFactoryBean 注入今天在做SpringQuarter动态设置触发时间时,需要在Service中注入org.springframework.scheduling.quartz.SchedulerFactoryBean使用下面的代码可用:localQuartzScheduler通过注解注入@Resource privateSchedulerFactoryBeanlocalQuartzScheduler

    2022年5月24日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号