我正在重新创建Oracle中SQL Server中存在的数据库。我是DDL的新手,也是Oracle的新手。我在SQL Server中遇到了下表
CREATE TABLE [DailyCounts](
[LDate] [datetime] NOT NULL CONSTRAINT [DF_LDate] DEFAULT (getdate()),
[SourceTable] [varchar](32) NOT NULL,
[TableRowCount] [bigint] NOT NULL,
CONSTRAINT [PK_DailyCounts] PRIMARY KEY CLUSTERED
(
[LDate] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
该表存储数据库中每个大表的每日行数约4个表(每天4行)。
Oracle中上表的等效表定义是什么,尤其是Oracle中index options的等价表?我对索引选项一无所知,在这种情况下是否需要它们。
CONSTRAINT [PK_DailyCounts] PRIMARY KEY CLUSTERED
(
[LDate] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
我知道上述查询not required中的ON PRIMARY
为Oracle doesn't have clustered indexes,而Oracle创建了indexes for primary keys。因此,我个人觉得以下查询应该可以胜任。
CREATE TABLE DailyCounts(
LDate timestamp DEFAULT sysdate CONSTRAINT PK_DailyCounts PRIMARY KEY,
SourceTable varchar2(32) NOT NULL,
TableRowCount number(19) NOT NULL
);