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 ...
随机推荐
- Nginx-1.6.3源码安装、虚拟主机
源码安装nginx cat /etc/redhat-release uname -rm yum install pcre-devel openssl-devel -y rpm -qa pcre pcr ...
- Linux文档时间戳查看和修改——stat
查看文件时间戳命令:stat awk.txtFile: `awk.txt'Size: 20 Blocks: 8 IO Block: 4096 regular fileDevice: 801h/2 ...
- redis关闭保护模式
1. set key出现的报错 在192.168.56.57客户端登录192.168.56.56的redis服务器时,报错如下: [root@localhost src]# ./redis-cli - ...
- email的传输协议与格式(资源链接)
以下链接为转载. 传输协议: 发:SMTP 收:POP3, IMAP 格式: MIME
- CSU 1356 Catch
原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1356 题目需要我们判断给定图在某一步是否会有可能出现在所有节点.首先,我们不妨假设给定图 ...
- ASP.NET MVC 3和Razor中的@helper
ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外).当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速.通 ...
- jquery通配符说明
按姓名匹配 1,name前缀为aa的所有div的jquery对象 Js代码 收藏代码$("div[name^='aa']"); 2,name后缀为aa的所有div的jquery对象 ...
- Laravel 之父:让 Laravel、Symfony、 Zend 来一场公平的性能测试
网上充斥着各式各样的 PHP 框架性能对比的文章.然而,他们总是把“苹果”和“橘子”做对比(看上去有点儿像,都是圆的,但其实不是一码事).这次,我将着重对 Laravel.Symfony 和 Zend ...
- 理解裸机部署过程ironic
部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样.虚拟机的底层驱动采用的libvir ...
- Tomcat+Apache集群方案
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha # environment slash for Windows(反斜杠代表Windows ...