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创建表、修改字段类型的更多相关文章

  1. Access sql语句创建表及字段类型

    创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NUL ...

  2. Access sql语句创建表及字段类型(转)

    http://www.cnblogs.com/hnyei/archive/2012/02/23/2364812.html 创建一张空表: Sql="Create TABLE [表名]&quo ...

  3. navicat for oracle 创建表ID字段的自动递增

    Oracle数据库创建表ID字段的自动递增   将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id numbe ...

  4. mysql创建表时字段类型选择与优化

    一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...

  5. Oracle基本操作,Oracle修改列名,Oracle修改字段类型

    oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>& ...

  6. oracle如何修改字段类型(oracle总体知识2)

    在一次做开发的时候,遇到需要将数据表的字段类型由number改成varchar,可是该字段又有值, 用  alter table t-name modify cname newType;会报错. 话说 ...

  7. Oracle修改字段类型和长度

    Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 ...

  8. Oracle使用SQL语句修改字段类型

    Oracle使用SQL语句修改字段类型 1.如果表中没有数据 Sql代码 1 2 3 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....)  alt ...

  9. Oracle/SQL 修改字段类型和长度

    标准SQL修改字段类型和长度语句: ALTER TABLE tableName modify column columnName 类型;例如Mysql的修改字段类型语句:alter table tes ...

随机推荐

  1. [INS-06006] Passwordless SSH connectivity not set up between the following node(s)

    解决方法1 参考:11.2.0.4 runInstaller: [INS-06006] Passwordless SSH connectivity not set up between the fol ...

  2. 获取Button脚本挂载的事件名

    (function(){ var Super = function(){}; Super.prototype = cc.Button.prototype; //实例化原型 Super.prototyp ...

  3. 【备忘】mybatis的条件判断用<choose>

    mybatis并没有if..else,在mybatis的sql mapper文件中,条件判断要用choose..when..otherwise.   <choose> <when t ...

  4. java快排思想

    1分治思想 1.1比大小在分区 1.2从数组中取出一个数做基准数 1.3将比他小的数全放在他的左边,比他大的数全放在他的右边 1.4然后递归 左边 和右边 }

  5. SQLServer无法打开用户默认数据库 登录失败错误4064的解决方法

    无法打开用户默认数据库,登录失败,其原因是登录帐户的默认数据库被删除. 解决办法是使用管理员帐户修改此登录帐户的默认数据库. 1.使用管理员帐号登入企业管理器,在“对象资源管理器”中,展开“安全性”— ...

  6. 手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

  7. Unity如何退出游戏

    使用 Application.Quit(),但在 editor 模式下使用 Application.Quit()是没用的,要用 EditorApplication.isPlaying = false. ...

  8. No module named 'pip._internal'

    报错: Traceback (most recent call last):File "/home/myuser/.local/bin/pip", line 7, in <m ...

  9. 在Ubuntu16.04中python环境下实现tab键补全

    1.编写tab.py的代码: 1 #!/usr/bin/env python 2 # python startup file 3 import sys 4 import readline 5 impo ...

  10. Matlab学以致用--模拟os任务装载情况

    2012-06-08 21:26:42 用matlab来建模,仿真不同时刻os task在队列中的装载情况.输入参数如下 作为初学者,M文件写的有点长.能实现功能就算学以致用了. clear;clc ...