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.改动表的字段同意为空

--改动人:易小群

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

--改动原因:採购合同导入时报PRODUCE_NAME为NULL不能插入

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.改动字段长度

--改动人:易小群

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

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

altertable BT_BUY_DETAIL modify(PRODUCT_NAME varchar2(500));

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

altertable BT_BUY_FPRECORD modify(PRODUCT_NAME  varchar2(500));

commit;

Oracle简单脚本演示样例的更多相关文章

  1. JavaFX 简单3D演示样例

    从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...

  2. Android SQLite 简单使用演示样例

    SQLite简单介绍 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也很的强大. 袖珍型的SQLite能够支持高达2TB大小的数据库, ...

  3. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

  4. 多线程本地图片载入演示样例【OpenCV】【Pthread】

    Pthread barrier的简单使用演示样例: C++代码例如以下: // ThreadingLoadImages.cpp : 定义控制台应用程序的入口点. // #include "s ...

  5. 一则简单演示样例看Oracle的“无私”健壮性

    Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  6. [hadoop系列]Pig的安装和简单演示样例

    inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...

  7. MyBatis对数据库的增删改查操作,简单演示样例

    之前一直有用Hibernate进行开发.近期公司在使用Mybatis.依据网上的演示样例,做了一个简单的Demo,以便日后复习 使用XMl方式映射sql语句 整体结构例如以下图 watermark/2 ...

  8. Introspector(内省)简单演示样例 与 简单应用

    简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...

  9. JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

    什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...

随机推荐

  1. Java Tuple使用实例(转)

    转自链接:http://www.cnblogs.com/davidwang456/p/4514659.html 一.为什么使用元组tuple? 元组和列表list一样,都可能用于数据存储,包含多个数据 ...

  2. Linux文档时间戳查看和修改——stat

    查看文件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20  Blocks: 8  IO Block: 4096  regular fileDevice: 801h/2 ...

  3. 次短路经(dijsktra)

    #include <cstdio>#include <cstring>#include <queue>#include <algorithm>#defi ...

  4. 推荐一个数据相关的网站tushare

    推荐一个网站:tushare 使用方法如下: pip install tushare 我是使用pycharm直接安装的 抓取了浦发和光大的股票数据,并通过csv进行保存,和通过plt进行图片打印 im ...

  5. C语言 五子棋2

    #include<windows.h> #include<stdlib.h> #include<stdio.h> #include<conio.h> # ...

  6. SimpleCV install and "You need the python image library to save by filehandle"

    2015年5月3日 22:15:43 在win7下安装了python.simplecv,试着运行simplecv官网第一个hello world程序结果报错,提示说%python%/lib/site- ...

  7. git rebase 过程中遇到冲突该怎么解决?

    在执行git rebase 过程中经常遇到问题,此时有点慌,一般如何解决呢? 1.先将本地的冲突手动解决 2.执行下面命令 git add . git rebase --contine  //继续re ...

  8. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  9. ref:Manual SQL injection discovery tips

    ref:https://gerbenjavado.com/manual-sql-injection-discovery-tips/ Manual SQL injection discovery tip ...

  10. pt--适配方案

    原文地址:一种粗暴快速的Android全屏幕适配方案