Oracle创建表、修改字段类型
1.创建表
1.创建表
create table SCM_PER( --SCM_PER表名
ID NUMBER(6) primary key,--主键ID
USERID varchar2(30),--用户ID
--Permission varchar2(11),--用户权限
--begin_date date,
--end_date date,
--def_date date,
--def_usr_id varchar2(30),
upd_date date,
upd_usr_id varchar2(30),
PRE_INV_005 number,
PRE_CM_001 number(2),
PRE_STK_039 number(2),
PRE_INV_012 number(2),
PRE_PRB_001 number(2),
REM varchar2(200)
)
SELECT * FROM SCM_PER
2.创建序列
create sequence SCM_PER_Seq --序列名
increment by 1
start with 1
maxvalue 999999999;
3.创建触发器
create or replace trigger SCM_PER_TRG
before insert
on SCM_PER
for each row
declare
ID NUMBER;
begin
SELECT SCM_PER_Seq.Nextval
INTO :NEW.ID
FROM DUAL;
end;
4.删除列
alter table tablename drop (column)
5.增加列
alter table tablename add (column datatype [default value][null/not null],….);
--增加新字段
alter table TABLENAME add NAME VARCHAR2(200);
--增加备注
comment on column TABLENAME.NAME is '注释';
2.修改字段类型
注:无法直接修改字段类型,方法是添加一个新列,将原数据更新到新列中
--PROJ为tablename,CONSTRUCTION_SEQ为原列名
--修改原表名
alter table PROJ rename column CONSTRUCTION_SEQ to CONSTRUCTION_SEQold;
--增加新字段
alter table PROJ add CONSTRUCTION_SEQ VARCHAR2(200);
--增加备注
comment on column PROJ.CONSTRUCTION_SEQ is '更改后的字段,建造序列';--to_char
--将原字段数据给到新字段
update PROJ set CONSTRUCTION_SEQ=to_char(CONSTRUCTION_SEQold);
--删除原字段
alter table PROJ drop column CONSTRUCTION_SEQold;
3.查询树形所有上下级数据
select * from std_cls start with std_cls_id='SABT' connect by prior p_std_cls_no=std_cls_no
union
(select * from std_cls start with std_cls_id='SABT' connect by prior std_cls_no=p_std_cls_no)
4.常用语句
1.将回车符去除
update TABLENAME t set t.column=replace(t.column,chr(13),'');--/r
2.转成日期格式
To_Date('2019-09-11 09:11:07', 'yyyy-mm-dd hh24:mi:ss')
3.找到某个字段有非数字的
select * from Non_Ship_Mat s where regexp_replace(substr(s.non_ship_mat_id, 9, 14),'^[-\+]?\d+(\.\d+)?$','') is not null;
Oracle创建表、修改字段类型的更多相关文章
- Access sql语句创建表及字段类型
创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NUL ...
- Access sql语句创建表及字段类型(转)
http://www.cnblogs.com/hnyei/archive/2012/02/23/2364812.html 创建一张空表: Sql="Create TABLE [表名]&quo ...
- navicat for oracle 创建表ID字段的自动递增
Oracle数据库创建表ID字段的自动递增 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id numbe ...
- mysql创建表时字段类型选择与优化
一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...
- Oracle基本操作,Oracle修改列名,Oracle修改字段类型
oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>& ...
- oracle如何修改字段类型(oracle总体知识2)
在一次做开发的时候,遇到需要将数据表的字段类型由number改成varchar,可是该字段又有值, 用 alter table t-name modify cname newType;会报错. 话说 ...
- Oracle修改字段类型和长度
Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 ...
- Oracle使用SQL语句修改字段类型
Oracle使用SQL语句修改字段类型 1.如果表中没有数据 Sql代码 1 2 3 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....) alt ...
- Oracle/SQL 修改字段类型和长度
标准SQL修改字段类型和长度语句: ALTER TABLE tableName modify column columnName 类型;例如Mysql的修改字段类型语句:alter table tes ...
随机推荐
- raise error
raise TypeError("参数q_type 错误 ")
- LeetCode 5 最长对称串
LeetCode 5 最长对称串 最早时候做这道题的时候还是用Java写的,用的是字符串匹配的思路,一直Time Limit Exceeded.甚至还想过用KMP开优化子串查找. public cla ...
- (.NET高级课程笔记)委托、事件总结
1.委托的声明.实例化和调用 同样的,也可以把事务写成上面的形式 2.泛型委托---Func.Action 3.委托的意义:解耦 4.委托的意义:异步多线程 5.委托的意义:多播委托 6.观察者模 ...
- python模块学习之hashlib模块学习
# 加密模块 import hashlib # md5 加密 md5 # 1.初始化md5模块 生成md5对象 # 2.引入要加密的数据 update # 3.获取加密值 hexdigest m = ...
- git远程管理
- 指定时间生成cron表达式
public class CronUtils { private static final SimpleDateFormat sdf = new SimpleDateFormat("ss m ...
- ubuntu16.04SSH无法连接
提示错误:server responded "algorithm negotiation failed” 解决办法: 修改ssh的配置文件 /etc/ssh/sshd_config文件 在末 ...
- 运输计划NOIP2015Day2T3
运输计划 题目描述 公元 2044 年,人类进入了宇宙纪元. L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条 航道连通了 L 国的所有星球. 小 P 掌管一 ...
- JAVA函数的重载和重写
一.什么是重载(overlording) 在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同.这就是函数的重载(overlording).这是类的多太性表现之一. 二.重载的作用: ...
- 20175208 张家华 MyCP
一.内容 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为 ...