在创建表之前请必须了解一下两点

1,oracle 没有identity,所以需要自己用squence 和 trigger 配合使用 实现 自增长。

2,oracle中如果使用关键字,需要用 双引号引起了。所以下面例子中出现的双引号可以理解成转义的。

/    在执行多个sql是用 / 可以区分。

现在就直接来sql语句。

检查是否存在该表,并删除

declare

num number;

begin

select count(1) into num from all_tables where TABLE_NAME = 'TABLEINFO' and OWNER='SCOTT';

if num=1 then

execute immediate 'drop table TABLEINFO';

end if;

end;

/

declare

num number;

begin

select count(1) into num from user_sequences where sequence_name='SEQ_TABLEINFOID';

if num =1 then

execute immediate 'drop sequence SEQ_TABLEINFOID';

end if;

end;

/

declare

num number;

begin

select count(1) into num from user_triggers where trigger_name='TRI_TABLEINFOID';

if num=1 then

execute immediate 'drop trigger TRI_TABLEINFOID';

end if;

end;

/

CREATE TABLE tableinfo

(

"id" number(4) NOT null,

tablename varchar2(40) NOT NULL,

constraint PK_tableinfoID primary key ("id")

);

/

create sequence SEQ_TABLEINFOID

minvalue 1

nomaxvalue

start with 1

increment by 1

nocache;

/

create trigger TRI_TABLEINFOID

before insert on TABLEINFO

for each row

declare

begin

if inserting and :new."id" is NULL or :new."id" =0 then

:new."id" :=SEQ_TABLEINFOID.nextval;

end if;

end TRI_TABLEINFOID;

oracle建立表语句 主键,oracle 创建表sql语句,主键,自增长相关推荐

  1. oracle创建主键sql语句,Oracle创建主键自增表(sql语句实现)及触发器应用

    Oracle创建主键自增表(sql语句实现)及触发器应用 1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprima ...

  2. oracle创建表语句_利用FME去拼接SQL语句并创建表

    在之前的工作中,我遇到了这么一个需求,需要将数据库内一千多个旧表按其原来表结构,重新创建对应的新表.然后对旧数据的进行处理后,存储新的数据. 不只是结构需要保持一致,还有用户.表空间.约束.备注等也需 ...

  3. mysql创建表时设置外键_mysql创建表时设置外键约束的方法

    mysql创建表时设置外键约束的方法 发布时间:2020-06-17 15:54:11 来源:亿速云 阅读:312 作者:元一 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中, ...

  4. java oracle 建表语句_在oracle数据库中创建表语句如何写?

    表名:servicelogs 字段名称类型 idint (主键,自增) servicetypevarchar (100) outsysvarchar (100) methodnamevarchar ( ...

  5. mysql创建表sql语句

    直接给出sql语句 DROP TABLE IF EXISTS `test_table_name`; CREATE TABLE `test_table_name` (`id` int(11) NOT N ...

  6. excel自动生成创建表sql语句

    Sub 选项按钮4_Click()Dim sqlStr, sqlTemp, pkStr, columnName, columnType, columnLength, isPk, notExistTab ...

  7. SQLite 创建表SQL语句

    SQLite 创建表 创表语法 CREATE TABLE [表名称](--主键列不可为空[列1] [类型] PRIMARY KEY NOT NULL,--列可为空[列2] [类型],--列不可为空[列 ...

  8. python制作表格的语句_python根据Excel自动生成创建表sql语句

    1.Excel格式截图 2.配置文件脚本 # coding:utf-8 # 表英文名 table_name = '表英文名' # 表中文名 table_comments = '表中文名' # Exce ...

  9. Mysql 添加字段或者创建表SQL语句

    前言 最近要向测试和运维发SQL脚本,习惯了用工具,忘记了原始操作手法 SQL脚本 1.给已有表添加字段 ALTER TABLE 表名 ADD 字段名称 字段类型(字段长短-选填) CHARACTER ...

最新文章

  1. 大剑无锋之Zookeeper面试题
  2. 【Demo 0011】多媒体播放器
  3. php 条形码生成器,PHP条形码图像生成器
  4. Python3文本读写操作
  5. 自学PHP有哪些书籍和教程值得推荐?
  6. SpringBoot配置logback日志 (六)
  7. ajax请求成功后返回值如何赋值给js变量
  8. Eclipse中 搭建 Spring+SpringMVC+Mybatis整合(下)
  9. USACO 1.5 Prime Palindromes
  10. pytorch_pix2pix之argparse
  11. python程序狮_Python编程狮
  12. 定积分及其应用知识点总结_定积分知识点总结.doc
  13. MySql获取某天是一年的第几周
  14. 为什么边缘概率密度是联合概率密度的积分_看懂蒙特卡洛积分(一) 概率分布变换与随机采样...
  15. (predicted == labels).sum().item()作用
  16. 【NOI科目校 信息学知识点测评-组合计数专题】展览方案
  17. AS运行安装失败,真机提示“软件包似乎无效”问题
  18. linux mint卸载桌面环境,在Ubuntu系统中安装最新Cinnamon桌面环境,包括启用及卸载...
  19. spring data jpa 与 jpa的区别
  20. 基于PHP+MySQL的在线投票系统设计与实现

热门文章

  1. usercontroller.java,springboot controller 参数绑定
  2. 以太网共同发明者去世,享年71岁
  3. “龙书”作者斩获图灵奖!谷歌 AI 大神、Swift 之父都受它启蒙
  4. 为什么我选择使用 OpenBSD?
  5. 从 JMM 透析 volatile 与 synchronized 原理
  6. “Talk is cheap, show me the code”你一行代码有多少漏洞?
  7. 苹果或在 WWDC 宣布放弃英特尔转向自研 5nm ARM 芯片,这次时机成熟了?
  8. 为什么谈及硬件,必言软件?软硬件协同让开源世界“阴阳调和”
  9. 罗永浩直播首秀开卖小米 10;微信能转账 QQ;Ruby 2.7.1 发布 | 极客头条
  10. 和无用代码说再见!阿里文娱无损代码覆盖率统计方案