在视图中,分区列必须位于每个 SELECT 语句的选择列表中相同的序号位置处。例如,分区列要么总是每个选择列表中的首列,要么总是每个选择列表中的第二列,依次类推。 分区列不允许为空。 分区列必须是表的主键的一部分。 分区列不能是计算列。 在分区列上必须仅有一个约束。如果有多于一个的约束,SQL Server 会忽略所有的约束并在确定视图是否为分区视图时不考虑这些约束。
1、默认就可!2、例:CREATE TABLE [dbo].[member_1] ( [member_id] [int] NOT NULL CHECK ([member_id] BETWEEN 1 AND 50000) ) ALTER TABLE [member_1] ADD PRIMARY KEY ([member_id])CREATE TABLE [dbo].[member_2] ( [member_id] [int] NOT NULL CHECK ([member_id] BETWEEN 50001 AND 100000), ) ALTER TABLE [member_2] ADD PRIMARY KEY ([member_id])create view member as select * from member_1 union all select * from member_2select * from member where member_id<50000 and member<1000
例: CREATE TABLE [dbo].[member_1] ( [idate] [datetime] NOT NULL check(year([idate])=2001), [year] int not null default 2001 check([year]=2001), constraint pk_orders2001 primary key ([year],idate) ) ON [PRIMARY] GOCREATE TABLE [dbo].[member_2] ( [idate] [datetime] NOT NULL check(year([idate])=2002), [year] int not null default 2002 check([year]=2002), constraint pk_orders2001 primary key ([year],idate) ) ON [PRIMARY] GOCREATE TABLE [dbo].[member_3] ( [idate] [datetime] NOT NULL check(year([idate])=2003), [year] int not null default 2003 check([year]=2003), constraint pk_orders2001 primary key ([year],idate) ) ON [PRIMARY] GOCREATE TABLE [dbo].[member_4] ( [idate] [datetime] NOT NULL check(year([idate])=2004), [year] int not null default 2004 check([year]=2004), constraint pk_orders2001 primary key ([year],idate) ) ON [PRIMARY] GOCREATE TABLE [dbo].[member_5] ( [idate] [datetime] NOT NULL check(year([idate])=2005), [year] int not null default 2005 check([year]=2005), constraint pk_orders2001 primary key ([year],idate) ) ON [PRIMARY] GO
分区列不允许为空。
分区列必须是表的主键的一部分。
分区列不能是计算列。
在分区列上必须仅有一个约束。如果有多于一个的约束,SQL Server 会忽略所有的约束并在确定视图是否为分区视图时不考虑这些约束。
[member_id] [int] NOT NULL
CHECK ([member_id] BETWEEN 1 AND 50000)
)
ALTER TABLE [member_1] ADD PRIMARY KEY ([member_id])CREATE TABLE [dbo].[member_2] (
[member_id] [int] NOT NULL
CHECK ([member_id] BETWEEN 50001 AND 100000),
)
ALTER TABLE [member_2] ADD PRIMARY KEY ([member_id])create view member as select * from member_1
union all select * from member_2select * from member where member_id<50000 and member<1000
CREATE TABLE [dbo].[member_1] (
[idate] [datetime] NOT NULL check(year([idate])=2001),
[year] int not null default 2001 check([year]=2001),
constraint pk_orders2001 primary key ([year],idate)
) ON [PRIMARY]
GOCREATE TABLE [dbo].[member_2] (
[idate] [datetime] NOT NULL check(year([idate])=2002),
[year] int not null default 2002 check([year]=2002),
constraint pk_orders2001 primary key ([year],idate)
) ON [PRIMARY]
GOCREATE TABLE [dbo].[member_3] (
[idate] [datetime] NOT NULL check(year([idate])=2003),
[year] int not null default 2003 check([year]=2003),
constraint pk_orders2001 primary key ([year],idate)
) ON [PRIMARY]
GOCREATE TABLE [dbo].[member_4] (
[idate] [datetime] NOT NULL check(year([idate])=2004),
[year] int not null default 2004 check([year]=2004),
constraint pk_orders2001 primary key ([year],idate)
) ON [PRIMARY]
GOCREATE TABLE [dbo].[member_5] (
[idate] [datetime] NOT NULL check(year([idate])=2005),
[year] int not null default 2005 check([year]=2005),
constraint pk_orders2001 primary key ([year],idate)
) ON [PRIMARY]
GO
http://expert.csdn.net/Expert/topic/1650/1650462.xml?temp=.2804376
http://expert.csdn.net/Expert/topic/1655/1655343.xml?temp=2.053469E-02