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.改动表的字段同意为空
--改动人:易小群
日
--改动内容:改动表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简单脚本演示样例的更多相关文章
- JavaFX 简单3D演示样例
从Java8開始,在JavaFX中便添加了3D部分的内容,包含Camera,Material,Light,Shape3D等基础内容. 当然,JavaFX 3D应该是OpenJFX里眼下正在补充和完好的 ...
- Android SQLite 简单使用演示样例
SQLite简单介绍 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也很的强大. 袖珍型的SQLite能够支持高达2TB大小的数据库, ...
- Thrift的安装和简单演示样例
本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述 ...
- 多线程本地图片载入演示样例【OpenCV】【Pthread】
Pthread barrier的简单使用演示样例: C++代码例如以下: // ThreadingLoadImages.cpp : 定义控制台应用程序的入口点. // #include "s ...
- 一则简单演示样例看Oracle的“无私”健壮性
Oracle的强大之处就在于他能总帮助让你选择正确的运行计划,即使你给了它错误的指示. 实验: 1. 创建測试表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...
- [hadoop系列]Pig的安装和简单演示样例
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...
- MyBatis对数据库的增删改查操作,简单演示样例
之前一直有用Hibernate进行开发.近期公司在使用Mybatis.依据网上的演示样例,做了一个简单的Demo,以便日后复习 使用XMl方式映射sql语句 整体结构例如以下图 watermark/2 ...
- Introspector(内省)简单演示样例 与 简单应用
简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...
随机推荐
- Ubuntu vi 上下左右变ABCD问题解决方法
---恢复内容开始--- 错误问题:vi上下左右键显示为ABCD的问题 解决方法: 只要依次执行以下两个命令即可完美解决Ubuntu下vi编辑器方向键变字母的问题. 一.执行命令 sudo apt-g ...
- 解决wordpress无法发送邮件的问题|配置好WP-Mail-SMTP的前提
我的WordPress主机是万网的,配置WP-Mail-SMTP时一直无法发送邮件,导致设置失败.经过多次询问度娘才找到了解决wordpress无法发送邮件的方法,在这里把这个wordpress技巧分 ...
- ssh连接远程主机免密登入
核心思想: 1.本地主机生成公钥私钥,私钥自己存着,公钥传到远程主机.ssh文件夹下authorized_keys文件(默认是这个,用追加的方式) 2.本地连接远程主机,公私钥对上就可以免密登入了. ...
- vuejs学习——vue+vuex+vue-router项目搭建(一)
前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪 ...
- 二叉排序树实现(C++封装)
设计思路 设计一个类,根结点只可读取,具备构造二叉树.插入结点.删除结点.查找. 查找最大值.查找最小值.查找指定结点的前驱和后继等功能接口. 二叉排序树概念 它或者是一棵空树:或者是具有下列性质的二 ...
- jenkins pipelines 简介
1. 简介:A pipeline就是软件和质量保证进程中的一部分中的自动化连续操作.它可以看成是一连串的脚本. 操作组:就是把一系统的操作可以合成一个个的步骤,如果一个步骤失败,那么后续步骤便不会执行 ...
- 高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包
高版本 eclipse 如何安装 fatjar 插件以及使用 fatjar 将 Java 程序打成 Jar 包 Eclipse Version: Neon.3 Release (4.6.3) Welc ...
- HTML5实战与剖析之原生拖拽(一拖拽历史概述)
提起拖拽,我就想起了在JavaScript培训的时候一个非常好玩的效果,那就是拖拽了.可以用鼠标任意拖拽着一个物体到任何你想去的地方. 最早拥有JavaScript拖拽功能的是IE4浏览器.当时,网页 ...
- Android升级ADT22后会报ClassNotFoundException的原因分析
http://blog.csdn.net/huzgd/article/details/8962702 1.ADT16下,只要add to path就是add to path并export:2.ADT2 ...
- shell脚本基本用法
下面是一些简单常用的脚本,工作中可能会用到,记录一下. #!/usr/bin/env bash #变量[=两边不要有空格], 在使用的时候需要用${变量名} 或者是$变量名 name="sa ...