找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 209|回复: 0

用户登录表

[复制链接]

381

主题

53

回帖

2165

积分

管理员

积分
2165
发表于 2026-1-30 09:50:45 | 显示全部楼层 |阅读模式
select *from Lj_zx_user_web for update

CREATE TABLE Lj_zx_user_web (
    ID NUMBER(10) NOT NULL,  -- 仅定义字段类型和非空,自增由后续序列+触发器实现
    UserName VARCHAR2(50) NULL,
    PassWord VARCHAR2(50) NULL,
    PassWord2 VARCHAR2(2000) NULL,
    notes VARCHAR2(50) NULL,
    GAP NUMBER(10) NULL
);

-- (可选)给ID添加主键约束
ALTER TABLE Lj_zx_user_web ADD CONSTRAINT pk_lj_zx_user_web_id PRIMARY KEY (ID);



-- 第三步:创建序列 seq_lj_zx_user_web_id,用于提供自增ID
CREATE SEQUENCE seq_lj_zx_user_web_id
    START WITH 1        -- 序列起始值为 1(对应第一条数据ID=1)
    INCREMENT BY 1      -- 序列步长为 1(每次自增1)
    MINVALUE 1          -- 序列最小值为 1
    NOMAXVALUE          -- 序列无最大值(一直自增,直到NUMBER(10)上限)
    NOCYCLE             -- 不循环(达到上限后报错,不重置为最小值)
    NOCACHE            -- 不缓存序列值(小型表推荐,避免异常关闭数据库丢失缓存值)


    -- 第四步:创建触发器 trg_lj_zx_user_web_id,插入数据时自动赋值ID
CREATE OR REPLACE TRIGGER trg_lj_zx_user_web_id
BEFORE INSERT ON Lj_zx_user_web  -- 触发时机:向该表插入数据之前
FOR EACH ROW                     -- 行级触发器:每插入一行数据就执行一次
BEGIN
    -- 核心逻辑:将序列的下一个值赋值给新插入行的 ID 字段
    SELECT seq_lj_zx_user_web_id.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/  -- 触发器结束标识(Oracle 环境中必须添加,用于提交触发器编译)

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|久要宝盒 ( 皖ICP备18021237号 )

GMT+8, 2026-4-2 19:39 , Processed in 0.047455 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表