精华内容
下载资源
问答
  • 已用时间: 00: 00: 00.06 SQL> create table score(id number(6),stuld number(6)); 表已创建。 已用时间: 00: 00: 00.06 SQL> alter table student add primary key(stuld); 表已更改。 已用时间: 00: 00: 00.18 ...

    1.创建用户

    create user [username] identified by [password];

    grant dba to [username];(授权)

    注意:创建新用户之后,用pl/sql developer登录的时候,用户类型选normal,而不是SYSDBA,因为他不是SYSDBA角色。

    2.查询

    a.查询所有的表

    select * from tab

    b.查询某一张表

    select * from [tablename]

    3.创建表

    create table [tablename]([columnname] int primary key,[columnname] varchar(20))

    4.列

    a.添加新列

    alter table [tablename] add [columnname] int;

    b.删除列

    alter table [tablename] drop column [columnname];

    5.增删改查

    a.简单的增删改查

    insert into table_name(column1,column2) values(value1,value2)

    delete from table_name where columnN = conditionN

    update table_name set column1 = values where columnN = conditionN

    select column1,column2 from table_name where columnN = conditionN

    b.详细的增删改查

    6.创建外键

    SQL> create table student(stuld number(6),name varchar2(30));

    表已创建。

    已用时间: 00: 00: 00.06

    SQL> create table score(id number(6),stuld number(6));

    表已创建。

    已用时间: 00: 00: 00.06

    SQL> alter table student add primary key(stuld);

    表已更改。

    已用时间: 00: 00: 00.18

    SQL> alter table score add foreign key (stuld) references student (stuld);

    表已更改。

    已用时间: 00: 00: 00.06

    oracle sql增强练习:

    https://zhidao.baidu.com/question/82265669.html

    展开全文
  • ----创建表create table users(user_id number(6) not null,user_name varchar2(20) not null,user_pwd varchar2(20) not null,user_email varchar2(20),user_intro varchar2(20),primary key (user_id));...

    ----创建表

    create  table  users

    (

    user_id number(6) not null,

    user_name varchar2(20) not null,

    user_pwd varchar2(20) not null,

    user_email varchar2(20),

    user_intro varchar2(20),

    primary key (user_id)

    );

    ----创建序列

    create sequence users_seq

    increment by 1

    start with 1

    nomaxvalue

    nominvalue

    nocache

    ----创建触发器

    create or  replace trigger tr_user

    before insert on users

    for each row

    begin

    select users_seq.nextval into :new.user_id from dual;

    end;

    ----插入数据

    insert into users values

    (users_seq.nextval,'admin','admin','undoner@gmail.com','undoner')

    ----查询信息

    select * from users

    ----查询序列

    select users_seq.nextval from dual;

    对sequence说明:

    increment by

    :用于指定序列增量(默认值:1),如果指定的是正整数,则序列号自动递增,如果指定的是负数,则自动递减。

    start with:用于指定序列生成器生成的第一个序列号,当序列号顺序递增时默认值为序列号的最小值当序列号顺序递减时默认值为序列号的最大值。

    Maxvalue:用于指定序列生成器可以生成的组大序列号(必须大于或等于start with,并且必须大于minvalue),默认为nomaxvalue。

    Minvalue:用于指定序列生成器可以生成的最小序列号(必须小于或等于starr with,并且必须小于maxvalue),默认值为nominvalue。

    Cycle:用于指定在达到序列的最大值或最小值之后是否继续生成序列号,默认为nocycle。

    Cache:用于指定在内存中可以预分配的序列号个数(默认值:20)。

    在sequence中应注意:

    1、第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT

    BY值,然后返回增加后的值。CURRVAL总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。

    2、如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。使用cache或许会跳号,比如数据库突然不正常down掉(shutdown

    abort),cache中的sequence就会丢失.所以可以在create sequence的时候用nocache防止这种情况。

    展开全文
  • oracle id自动增长

    2021-05-03 09:08:57
    CREATE TABLE CIS.FISCASH_MLDeclare(Declare_Id NUMBER,FirstInput VARCHAR2(25),FirstInputName VARCHAR2(25),FirstInputDate DATE,Declare_Company VARCHAR2(21),ConCode ...

    CREATE TABLE CIS.FISCASH_MLDeclare

    (Declare_Id          NUMBER,

    FirstInput           VARCHAR2(25),

    FirstInputName      VARCHAR2(25),

    FirstInputDate       DATE,

    Declare_Company   VARCHAR2(21),

    ConCode             VARCHAR2(100),

    FCashCoin           VARCHAR2(11),

    FDeclare_Num       NUMBER(25,2),

    FCashType           VARCHAR2(11),

    FCashRemark         VARCHAR2(100),

    DeclareDate         VARCHAR2(11),

    YearMonth          VARCHAR2(8),

    NumType          VARCHAR2(11),

    InvoiceNum        VARCHAR2(100),

    BusinessManId      VARCHAR2(21),

    BusinessMan       VARCHAR2(21),

    Business_Remark    VARCHAR2(100),

    CashCoin           VARCHAR2(11),

    Declare_Num       NUMBER(25,2),

    CashType           VARCHAR2(11),

    CashRemark         VARCHAR2(100),

    ChangeType        CHAR(1),

    UpdaterId          VARCHAR2(25),

    UpdaterName       VARCHAR2(25),

    UpdateDate         Date,

    Confirm_Id         VARCHAR2(21),

    Confirm_Name      VARCHAR2(21),

    Confirm_Date       DATE,

    Confirm_Flag       CHAR(1),

    Confrim_Remark    VARCHAR2(100),

    InputFlag          CHAR(1),

    Declare_State       CHAR(1),

    Fore_State          CHAR(1),

    Remark            VARCHAR2(100),

    PRIMARY KEY(Declare_Id)

    )

    Create Sequence CIS.FISCASH_MLDeclare_Id start with 1000 increment by 1;

    Grant SELECT,ALTER  ON CIS.FISCASH_MLDeclare_Id TO cisprg

    GRANT SELECT,INSERT,DELETE,UPDATE ON  CIS.FISCASH_MLDeclare TO cisprg;

    Stringsql="insert into  CIS.FISCASH_MLDeclare(Declare_Id,Declare_Company,CashType,CashCoin,ConCode,Declare_Num,DeclareDate,CashRemark,Business_Remark,UpdaterId,UpdaterName,YearMonth,ChangeType,UpdateDate,InputFlag,Declare_State,FirstInputDate) values(CIS.FISCASH_MLDeclare_Id.nextVal,";

    展开全文
  • 因为Oracle中12c版本之前的都不能直接给主键设置增长,所以只能通过序列+触发器来实现自增长。大致过程:创建序列->创建触发器,并设置在某张表执行insert操作之前触发(让主键自增1【注意只能作用于为int类型的...

    因为Oracle中12c版本之前的都不能直接给主键设置自增长,所以只能通过序列+触发器来实现自增长。

    大致过程:创建序列->创建触发器,并设置在某张表执行insert操作之前触发(让主键自增1【注意只能作用于为int类型的主键】)

    1、SQL Window 执行语句创建序列:

    create sequence test_autoinc--test_autoinc序列名

    minvalue 1 --最小值

    maxvalue 99999999999999999999999999 --最大值

    start with 1--从1开始

    increment by 1--每次加1

    nocache;--不建缓冲区

    2、SQL Window创建触发器:

    create or replace trigger insert_test_id_autoinc --insert_test_id_autoinc触发器名称

    before insert

    on test --test 是表名

    for each row

    declare

    -- local variables here(这里是局部变量)

    nextid number;

    begin

    IF :new.test_id IS NULL or :new.test_id=0 THEN --test_id是列名

    select test_autoinc.nextval --test_autoinc正是刚才创建的序列名

    into nextid

    from sys.dual;

    :new.test_id:=nextid;

    end if;

    end insert_test_id;

    3、再执行插入语句测试序列是否生效(没有设置id,插入成功后查看数据id是否自增):

    insert into test (test_name,test_desc) values('test1','ceshi')

    查看序列的SQL语句:

    select * from user_sequences

    展开全文
  • oracle数据库设置id自增

    万次阅读 2017-11-09 10:25:14
    创建表: 列名大写: ... SELECT "goodst_sequence".nextval INTO :new.ID FROM dual;  END; 方法二:界面创建 序列: 触发器: 保存即可id自增
  • 1、创建一个用户表t_sys_user,其中有id,login_name,login_pwd三个字段,ID自动增长列:create table t_sys_user(id number(6) not null primary key,login_name varchar2(50) not null,login_pwd varchar2(50) ...
  • Oracle与Mysql不同,不能在CREATE建立表时设置自动增长列功能。Oracle必须通过创建sequence序列来实现自动增加列的功能。首先要建立序列(当然必须要先建好表,添加好主键约束,这列假设约束名为test_sequence)create...
  • 我认为是触发器增长了1, --seq_windturbine_day.nextval又增长了1所导致的。不知道对不对? insert into t_windturbine_day(id,createdate,windturbinecode,indicode,indivalue) values(seq_windturbine_day....
  • Oracle 实现自增主键

    2021-01-28 10:37:14
    废话不多讲,直接上代码//1.创建表Create Table testZcm( Id Number(2) Not Null Primary Key, postCode Number(6) Default ‘0‘ Not Null, areaName Varchar2(20) Default ‘‘ ...创建自动增长序列Create Seque...
  • 老师安排的作业要写一个东西 数据库要用oracle设计的时候 想要 UID这一列为自动增长的列 因为学习不多所以就查了资料 留在这里以备忘记=======================================oracle不能在建表时定义自动增长的列...
  • Oracle实现id自动增长

    2021-05-03 02:59:04
    1. 创建表空间create tablespace wanghao datafile 'E:\wanghao.dbf' size 20M autoextend on next 5M maxsize unlimited;2. 创建用户create user wanghao identified by wanghao default tablespace wanghao;...
  • 1、把主键定义为自动增长标识符类型MySql在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:create table customers(id int auto_increment primary key not null, name varchar...
  • Oracle数据库自动增长列的实现过程:1.创建序列-- Create sequencecreate sequence INNERIDminvalue 1maxvalue 99999999999999start with 1increment by 1cache 20order;2.--INNERID.currval 指当前序列--INNERID....
  • oracle设置自动增长

    2021-05-01 07:00:46
    1.建表create table VACATION(ID number(8) primary key,TITLE VARCHAR2(200),MATTER VARCHAR2(200),APPLYER VARCHAR2(20),STARTTIME VARCHAR2(20),ENDTIME VARCHAR2(20))2.建序列create sequence vaca...
  • 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Create table t_user( Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6) );----创建序列 create sequence ...
  • l 自动提供唯一的数值 l 共享对象 l 主要用于提供主键值 l 将序列值装入内存可以提高访问效率 1.首先创建序列,Oracle序列的语法格式为: CREATE SEQoracle序列详解和创建自增主键Oracle序列主键序列: 是oacle提供...
  • ORACLE中,没有能自动增长ID列定义,而是采用另一种方法,即创建SEQUENCE。如:/*--1、创建各使用地区编码表--*/drop table LT_AREA;create table LT_AREA(area_id number(5,0) NOT NULL, /*地区编码*/area_name...
  • 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:CREATE TABLE google(id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,NAME VARCHAR(15),age INT,email VARCHAR(50),gender ...
  • Oracle创建自动增长

    2021-05-05 04:04:08
    Oracle数据库中创建序列,在使用sql语句向数据库中写入数据的时候,利用序列产生的唯一值,实现表中主键值自增。序列(Sequence)是一种可以被多个用户使用的用于产生一系列唯一数字的数据库对象。序列定义存储在...
  • oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器。首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器。如:建立一个序列CREATE SEQUENCE auto_seqminvalue 1 -- 最小值...
  • @SequenceGenerator(name="SQECagegory",sequenceName=... } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
  • ORACLE----id自增长(sql developer 手动操作方式)ORACLE----id自增长(sql developer 手动操作方式)之前项目开发多用mysql,对于id增长设置,只需要简单修改列属性便好。最近改用ORACLE,头大一圈。ORACLE的相关...
  • orcale设置主键自动增长 随笔记得笔记 以后用到 直接到这里copycreate or replace table TBL_SYS_USER(user_id NUMBER(19) not null,user_name VARCHAR2(60 CHAR),user_pwd VARCHAR2(60 CHAR))alter table TBL_...
  • Oracle 创建表并设置主键自增

    千次阅读 2021-01-28 10:30:11
    --创建表CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY,NAME VARCHAR(200) NOT NULL,SEX VARCHAR(200),CREATE_DATE DATE);--指定列注释COMMENT ON COLUMN STUDENT.ID IS '学生ID';COMMENT ON COLUMN STUDENT.NAME IS ...
  • 首先,我们通过sql/plus先建个TEST表sql语句:CTEATE TABLE TEST(ID NUMBER,NAME VARCHAR2(20),PRIMARY KEY(ID));通过sql/plus建立个序列sql语句:CREATE SEQUENCE SEQ_TESTINCREMENT BY 1START WITH 1MINVALUE 1...
  • 然后,你需要一个自定义的sequence CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 NOCACHE -- 不建缓冲区 你...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,904
精华内容 15,161
关键字:

oracle设置id自动增长