【发布时间】:2015-11-03 05:26:29
【问题描述】:
我在 oracle 中制作了一个使用自动递增字段完整序列的表。
这里是sql:
CREATE TABLE Users(
user_ID INT NOT NULL,
user_name VARCHAR (20) NOT NULL,
user_password VARCHAR (20) NOT NULL,
user_role INT NOT NULL,
PRIMARY KEY (user_ID)
);
ALTER TABLE Users
ADD FOREIGN KEY (user_role) REFERENCES User_Roles (role_ID);
CREATE SEQUENCE seq_users
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
现在我需要通过一个java程序将数据插入到表中,有什么办法,我不必像这样使用查询:
Insert into User_Roles values (seq_user_roles.nextval,'system admin');
User Role Table:
CREATE TABLE User_Roles(
role_ID INT NOT NULL,
role_name VARCHAR (20) NOT NULL,
PRIMARY KEY (role_ID)
);
CREATE SEQUENCE seq_user_roles
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
我想从 java 程序中插入数据,但无法指定序列的名称。
【问题讨论】:
-
创建一个插入前触发器类型,以便将数据填充到 role_id 中。如果您需要更多解释,我会发布一些示例代码。
-
@Tarun 感谢您的回答,它对我帮助很大,如果我在通过 java 程序执行此操作时不为字段 role_id 指定任何内容,它是否会起作用,我已经尝试过并且它不适合我