--示例 1 创建 titles 表:
create table titles
(title_id tid not null,
title varchar(80) not null,
type char(12) not null,
pub_id char(4) null,
price money null,
advance money null,
total_sales int null,
notes varchar(200) null,
pubdate datetime not null,
contract bit not null)


--示例 2 创建 compute 表。因为表名和列名(max 和 min)是保留字,所
--以用双引号引起来。因为 total score 列名中包含嵌入的空格,所以用双
--引号引起来。创建表之前,必须先 set quoted_identifier on:
create table "compute"
("max" int, "min" int, "total score" int)

--示例 3 在一步中创建具有唯一约束 sales 表和聚簇索引。(在 pubs2 数据
--库安装脚本中,有单独的 create table 和 create index 语句):
create table sales
(stor_id char(4) not null,
ord_num varchar(20) not null,
date datetime not null,
unique clustered (stor_id, ord_num))

--示例 4 创建具有两个参照完整性约束和一个缺省值的 salesdetail 表。有
一个名为 salesdet_constr 的表级参照完整性约束和 title_id 列上的一个无
--指定名称的列级参照完整性约束。两个约束都指定被引用表(titles 和
--sales)中具有唯一索引的列。带有 qty 列的 default 子句指定 0 作为其缺
--省值:
create table salesdetail
(stor_id char(4) not null,
ord_num varchar(20) not null,
title_id tid not null
references titles(title_id),
qty smallint default 0 not null,
discount float not null,
constraint salesdet_constr
foreign key (stor_id, ord_num)
references sales(stor_id, ord_num))


--示例 5 创建在 pub_id 列上具有检查约束的 publishers 表。此列级约束可
---用于代替 pubs2 数据库中的 pub_idrule:
create rule pub_idrule
as @pub_id in ("1389", "0736", "0877", "1622",
"1756")
or @pub_id like "99[0-9][0-9]"
create table publishers
(pub_id char(4) not null
check (pub_id in ("1389", "0736", "0877", "1622",
"1756")
or pub_id like "99[0-9][0-9]"),
pub_name varchar(40) null,
city varchar(20) null,
state char(2) null)

--示例 6 指定 ord_num 列作为 sales_daily 表的 IDENTITY 列。首次向表中
--插入行时,Adaptive Server 为 IDENTITY 列指派值 1。以后每次插入时,
--列的值增加 1:
create table sales_daily
(stor_id char(4) not null,
ord_num numeric(10,0) identity,
ord_amt money null)

--示例 7 为 new_titles 表指定 datapages 锁定方案和所需行宽 200:
create table new_titles (
title_id tid,
title varchar(80) not null,
type char(12) ,
pub_id char(4) null,
price money null,
advance money null,
total_sales int null,
notes varchar(200) null,
pubdate datetime,
contract bit )
lock datapages
with exp_row_size = 200

--示例 8 指定 datarows 锁定方案并设置 reservepagegap 值为 16,以使扩充
--I/O 操作为每 15 个填充页留出 1 个空白页:
create table new_publishers (
pub_id char(4) not null,
pub_name varchar(40) null,
city varchar(20) null,
state char(2) null )
lock datarows
with reservepagegap = 16

--示例 9 创建一个唯一聚簇索引所支持的约束;索引顺序对 stor_id 为升
--序,对 ord_num 为降序:
create table sales_south
(stor_id char(4) not null,
ord_num varchar(20) not null,
date datetime not null,
unique clustered (stor_id asc, ord_num desc))

--示例 10 在远程服务器 SERVER_A 上创建一个名为 t1 的表,并创建映
--射到该远程表的名为 t1 的代理表:
create table t1
(a int,
b char(10))
at "SERVER_A.db1.joe.t1"

--示例 11 创建一个名为 employees 的表。name 的类型为 varchar,
--home_addr 是 Address 类型的 Java-SQL 列,而 mailing_addr 是
--Address2Line 类型的 Java-SQL 列。Address 和 Address2Line 都是安装在数
--据库中的 Java 类:
create table employees
(name varchar(30),
home_addr Address,
mailing_addr Address2Line)

--示例 12 创建一个带 identity 列的名为 mytable 的表。标识间隔设置为
--10,表示将在内存中以十个 ID 号的块为单位分配 ID 号。如果服务器出
--现故障或没有等待就关闭,那么分配给行的最后一个 ID 号与分配给行
--的下一个 ID 号之间的最大间隔为十个编号:
create table mytable
(IdNum numeric(12,0) identity)
with identity_gap = 10


--示例 13 创建一个带 identity 列的名为 mytable 的表。标识间隔设置为
--10,表示将在内存中以十个 ID 号的块为单位分配 ID 号。如果服务器出
--现故障或没有等待就关闭,那么分配给行的最后一个 ID 号与分配给行
--的下一个 ID 号之间的最大间隔为十个编号:
create table mytable
(IdNum numeric(12,0) identity)
with identity_gap = 10

<script></script>