我想使用(Oracle)SQL创建一个新表,该表包含多个列的索引,索引在创建列的同时创建(在一条语句中)。在这里(https://www.oracletutorial.com/oracle-index/oracle-create-index/),我找到了创建表的语句:
CREATE TABLE members(
member_id INT GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR2(100) NOT NULL,
last_name VARCHAR2(100) NOT NULL,
gender CHAR(1) NOT NULL,
dob DATE NOT NULL,
email VARCHAR2(255) NOT NULL,
PRIMARY KEY(member_id)
);
在 second 语句中,为last_name创建了一个索引:
CREATE INDEX members_last_name_i
ON members(last_name);
我想知道如何修改create table
语句,例如为列“last_name”和“dob”创建索引。
CREATE TABLE members(
member_id INT GENERATED BY DEFAULT AS IDENTITY,
first_name VARCHAR2(100) NOT NULL,
last_name VARCHAR2(100) NOT NULL,
gender CHAR(1) NOT NULL,
dob DATE NOT NULL,
email VARCHAR2(255) NOT NULL,
PRIMARY KEY(member_id),
INDEX members_last_name_i (last_name),
INDEX date_i (dob)
);
1条答案
按热度按时间gcmastyq1#
不久,你可以不。
CREATE INDEX
是一个单独的语句,只有PRIMARY KEY
约束 * 在后台 * 创建支持它的(唯一)索引(如果这样的索引还不存在;如果它存在,您可以重用它),但是对于其余部分,您必须在以后一个接一个地创建它们。