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. C++——stoi函数

    版权声明:本文系原创,转载请声明出处. 1. 函数原型 , ); , ); 2. 参数说明 str String object with the representation of an integr ...

  2. C++——map注意事项

    1. C++标准模块库STL中提供了两种基本的关联容器:set和map.其内部实现是都是采用红黑树,但不同的是,set中结点存储的是键值,map中结点存储的是<key,value>的键值对 ...

  3. redis局域网内开启访问

    若需要开启A(192.168.0.3)的访问1.配置confg bind 192.168.0.3 2.设置访问密码 requirepass password 3.重新载入配置 ./redis-serv ...

  4. Photon3Unity3D.dll 解析二——EventData

    EventData 包含Photon事件的所有内容 Code           用于表示事件,相当于主键ID,LiteEventCode定义了一部分服务端普遍事件事件: Parameters   事 ...

  5. 网络管理 SNMP基础知识

    SNMP Agent快速开发   网友:SmileWolf 发布于: 2007.08.02 16:06 (共有条评论) 查看评论 | 我要评论                   摘自  http:/ ...

  6. tomcat已启动,使用maven的deploy发布后,根据路径打开浏览器访问时报错HTTP Status 500 - Error instantiating servlet class

    web项目中请求出现错误,如下: HTTP Status 500 - Error instantiating servlet class XXXX类 type Exception report mes ...

  7. LightOJ 1319 Monkey Tradition(中国剩余定理)

    题目链接:https://vjudge.net/contest/28079#problem/U 题目大意:给你n(n<12)行,每行有pi,ri,求一个数ans满足ans%pi=ri(i从1~n ...

  8. Oracle与MySQL连接配置

    MySQL: Driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/GBDSPT(数据库名称) Oracle: Driver:o ...

  9. 【转】Android打印机--没有设备驱动sdk,自己实现USB打印功能

    原文:http://blog.csdn.net/johnwcheung/article/details/71576833 Android下的设备调试,如果设备提供了驱动,按照厂家的驱动调试即可:设备未 ...

  10. 八大排序算法JS及PHP代码实现

    从学习数据结构开始就接触各种算法基础,但是自从应付完考试之后就再也没有练习过,当在开发的时候也是什么时候使用什么时候去查一下,现在在学习JavaScript,趁这个时间再把各种基础算法整理一遍,分别以 ...